1、完整版)2014年杭州电子科技大学Java期末试卷 杭州电子科技大学学生考试卷( A )卷 考试课程 Java语言程序设计 考试日期 2014年 6月 16日 成 绩 课程号 教师号 任课教师姓名 考生姓名 学号(8位) 年级 专业 注意:所有答案均写在答卷上,写在试卷上无效; (一)单选题(每题2分,共30分) (1) 下列哪个类型不属于Java的基本数据类型 . A、float B、boolean C、char D、String (2) 以下哪个不属于Java的合法标识符. A、Class B、
2、name; C、abc; D、1_name; (3) 若整型变量i的值为奇数,那么值为true的逻辑表达式是( )。 A、i%2=0; B、i%2==1; C、i/2==0; D、i%2 equals 0; (4) 数学表达式|x|〈10 对应的java表达式为 . A、|x|<10 B、x<10&&x〉-10 C、x<10||x>—10 D、10〉x>-10 (5) 比较两个字符串s1和s2的长度是否相等,如下表达式中正确的是 ( )。 A、s1。equals(s2) B、s1。length(
3、).equals(s2) C、s1.length( )。equals(s2。length( ) D、s1。length( ) == s2。length( ) (5) 设有定义:int [] a = {4, 2, -7, 5, 1, 6, 3};则a[a[1]]的值为 。 A、 4 B、2 C、 -7 D、 5 (6) 关于方法的返回值,以下说法正确的是 A、方法必须有返回值 B、方法可以没有返回值,也可以有多个返回值 C、方法有且仅有一个返回值 D、方法必须有至少一个返回值
4、 (7) 设Student为已定义的类名,下列语句能正确创建Student对象的是 。 A、Student s=new Student; B、Student s=new Student (); C、Student s= Student (); D、Student s[ ]=new Student [10]; (8) 对于一个三位正整数 n,表达式( )可以取出n的百位数字. A、n%10/10 B、n%10 C、n/10%10 D、n/100 (9) 指出下列哪个方法与方法public void overload(
5、int x, int y){}为不合理的重载方法 。 A、public long overload (long x, long y){} B、public float overload (float x, float y){} C、public void overload (int x){} D、public int overload (int a, int b){} (10) 以下关于构造方法的描述错误的是 。 A、构造方法的返回类型只能是void型。 B、构造方法是类的一种特殊方法,它的方法名必须与类名相同。 C、构造方法的主要作用是完成对
6、类的对象的初始化工作。 D、一个类可以定义多个构造方法。 (11) 下列各语句序列中,能够将变量u、s中最大值赋值到变量t中的是( ) A、 if(u〉s) t=u; t=s; B、 t=s; if(u〉s) t=u; C、 if(u〉s) t=s; else t=u; D、 t=u; if(u〉s) t=s; (12) 定义了一个合法的抽象类。 A、abstract Shape {abstract void area();} B、class abstract Shape {abstract void area()
7、} C、abstract class Shape {abstract void area();} D、abstract class Shape {abstract void area() {System。out。println(”area");}} (13) 为了以字符方式将数据写到文件中,可以使用 类。 A、FileReader B、FileInputStream C、FileOutputSteam D、FileWriter (15)如下图中数字和符号按钮所在的面板(JPanel)采用的是下列哪种 布局方式 A、Flo
8、wLayout B、GridLayout C、BorderLayout D、CardLayout (二)阅读程序,回答每个程序后面的问题(每个问题2分,共20分) 程序1 class test{ public static void main(String args[]){ int a=33; do{ if(a%2==1) a=a*3+1; else a/=2; System。out。printf("%d ",a); }while(a!=1); } } 问题1:写出程序1运行时输出的第1个数据。 问题2:写出程
9、序1运行时输出的最后1个数据. 程序2 public class Test{ static boolean check (int x) { if (x==1) return false; for (int i=2;i〈=x/2;i++) if (x%i==0) return false; return true; } public static void main(String args[]){ for(int i=5;i〈10;i++){ if(check(i)==false) System。out.print
10、ln(i); } } } 问题3:描述static boolean check (int x)方法的功能 问题4:写出程序2运行的输出结果 程序3 public class testComplex{ public static void main(String[] args) { Complex a = new Complex (2, 3); Complex b = new Complex (4, 5); Complex c = a。add(b); System。out。println(c.toString()); } } cla
11、ss Complex { private double realPart; private double imaginaryPart; public Complex(double a, double b) { this.realPart=a; this。imaginaryPart=b; } public Complex(){ this。realPart=0; this.imaginaryPart=0; } public Complex add(Complex a) { double x= this。realPart + a.realP
12、art; double y= this。imaginaryPart + a。imaginaryPart; return new Complex(x,y); } public String toString() { String show = this.realPart + ” + ” + this.imaginaryPart + "i”; return show; } } 问题5:为使程序可以被正常编译、运行,写出保存程序3的文件名 问题6:写出程序3运行的输出结果 问题7:程序3中,是否有方法重载,请简单说明(不得超过20字)。






