JAVA期末考试复习题.docx
《JAVA期末考试复习题.docx》由会员分享,可在线阅读,更多相关《JAVA期末考试复习题.docx(37页珍藏版)》请在冰豆网上搜索。
JAVA期末考试复习题
《JAVA程序设计》练习题
一、单选择题
1、编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。
A.java B..class
C.html D..exe
2、设x=1,y=2,z=3,则表达式 y+=z--/++x 的值是(A )。
A.3 B.3.5
C.4 D.5
3、不允许作为类及类成员的访问控制符的是( C)。
A.public B.private
C.static D.protected
4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。
A.staticvoidmethod() B.publicvoidmethod()
C.finalvoidmethod() D.abstractvoidmethod()
5、关于选择结构下列哪个说法正确?
( B )
A.if语句和else语句必须成对出现
B.if语句可以没有else语句对应
C.switch结构中每个case语句中必须用break语句
D.switch结构中必须有default语句
6、while循环和do…while循环的区别是:
( D )
A.没有区别,这两个结构任何情况下效果一样
B.while循环比do…while循环执行效率高
C.while循环是先循环后判断,所以循环体至少被执行一次
D.do…while循环是先循环后判断,所以循环体至少被执行一次
7、关于for循环和while循环的说法哪个正确?
(B )
A.while循环先判断后执行,for循环先执行后判断。
B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果
C.两种循环任何时候都不可以替换
D.两种循环结构中都必须有循环体,循环体不能为空
8、下列修饰符中与访问控制无关的是( D )
A.private B.public
C.protected D.final
9、void的含义:
( A )
A.方法没有返回值 B.方法体为空
C.没有意义 D. 定义方法时必须使用
10、return语句:
( C )
A.只能让方法返回数值 B.方法都必须含有
C.方法中可以有多句return D.不能用来返回对象
11、关于对象成员占用内存的说法哪个正确?
( B )
A.同一个类的对象共用同一段内存
B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间
C.对象的方法不占用内存
D.以上都不对
12、下列说法哪个正确?
(C )
A.不需要定义类,就能创建对象
B.对象中必须有属性和方法
C.属性可以是简单变量,也可以是一个对象
D、属性必须是简单变量
13、下列说法哪个正确?
( A )
A、一个程序可以包含多个源文件
B、一个源文件中只能有一个类
C、一个源文件中可以有多个公共类
D、一个源文件只能供一个程序使用
14、关于方法main()的说法哪个正确?
( C )
A.方法main()只能放在公共类中
B main()的头定义可以根据情况任意更改
C.一个类中可以没有main()方法
D.所有对象的创建都必须放在main()方法中
15、构造函数何时被调用?
( A )
A、创建对象时 B、类定义时
C、使用对象的方法时 D、使用对象的属性时
16、 抽象方法:
( C )
A、可以有方法体
B、可以出现在非抽象类中
C、是没有方法体的方法
D、抽象类中的方法都是抽象方法
17、关于继承的说法正确的是:
( B )
A、子类将继承父类所有的属性和方法。
B、子类将继承父类的非私有属性和方法。
C、子类只继承父类public方法和属性
D、子类只继承父类的方法,而不继承属性
18、关于构造函数的说法哪个正确?
( C )
A、一个类只能有一个构造函数
B、一个类可以有多个不同名的构造函数
C、构造函数与类同名
D、构造函数必须自己定义,不能使用父类的构造函数
C
19、this和super:
( C )
A、都可以用在main()方法中
B、都是指一个内存地址
C、不能用在main()方法中
D、意义相同
20、关于super的说法正确的是:
( C )
A、是指当前对象的内存地址
B、是指当前对象的父类对象的内存地址
C、是指当前对象的父类
D、可以用在main()方法中
21、覆盖与重载的关系是 ( A )
A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中
B.覆盖方法可以不同名,而重载方法必须同名
C.final修饰的方法可以被覆盖,但不能被重载
D.覆盖与重载是同一回事
22、关于接口哪个正确?
(A )
A、实现一个接口必须实现接口的所有方法
B.一个类只能实现一个接口
C.接口间不能有继承关系
D.接口和抽象类是同一回事
23、异常包含下列哪些内容?
( A )
A.程序执行过程中遇到的事先没有预料到的情况
B.程序中的语法错误
C.程序的编译错误
D.以上都是
24、 对于已经被定义过可能抛出异常的语句,在编程时:
( A )
A、必须使用try/catch语句处理异常,或用throws将其抛出
B.如果程序错误,必须使用try/catch语句处理异常
C.可以置之不理
D.只能使用try/catch语句处理
25、当某一线程正处于休眠状态,而另一个线程用Thread类中的interrupt()方法中断它时,抛出的异常类型是( C )。
A)IOException B)RuntimeException
C)InterruptedException D)ClassNotFoundException
26、下面的程序段的功能是( D )。
Filefile1=newFile("d:
\\xxx\\yyy\\zzz");
file1.mkdirs();
A)在当前目录下生成子目录:
\xxx\yyy\zzz B)生成目录:
e:
\xxx\yyy\zzz
C)在当前目录下生成文件xxx.yyy.zzz D)以上说法都不对
27、应用程序的main方法中有以下语句,则输出的结果是( B )。
Strings="xxxxxxxxxxxxxxx#123#456#zzzzz";
intn=s.indexOf("#");
intk=s.indexOf("#",n+1);
Strings2=s.substring(n+1,k);
System.out.println(s2);
A)123456 B)123 C)xxxxxxxxxxxxxxx D)zzzzz
28、关于下面的程序Test.java说法正确的是( D )。
publicclassTest{
Stringx="1";
inty;
publicstaticvoidmain(Stringargs[]){
intz=2;
System.out.println(x+y+z);
}
}
A)3 B)102 C)12 D)程序有编译错误
29、应用程序的main方法中有以下语句,则输出的结果是( A )。
int b[][]={{1,1,1},{2,2},{3}};
intsum=0;
for(inti=0;i for(intj=0;j
sum+=b[i][j];
}
}
System.out.println("sum="+sum);
A)10 B)6 C)9 D)13
30、应用程序的main方法中有以下语句,则执行后输出的结果是( B )。
int[]x={125,21,5,168,98};
intmin=x[0];
for(inti=1;i if(x[i] min=x[i];
}
System.out.println(min);
A)125 B)5 C)98 D)168
31、应用程序的main方法中有以下语句,则输出的结果是(D )。
Hashtablehashtable=newHashtable();
hashtable.put("100","aaa");
hashtable.put("200","bbb");
hashtable.put("300","ccc");
System.out.println(hashtable.get("300").toString()
+hashtable.get("200").toString()
+hashtable.get("100").toString());
A)aaa B)bbb C)ccc D)cccbbbaaa
32、以下关于java异常说法不正确的是( D )。
A)Throwable类是Java语言中Error类和Exception类的父类。
B)当异常对象是Exception类(或其子类)的实例时,能通过Java虚拟机或者throw语句抛出该异常对象,并能通过try…catch…finally处理。
C)如果只用一个catch块捕捉多个异常对象,则catch子句中的参数类型应是所有异常对象的父类。
D)以上说法都不对。
33、下列程序段执行后的结果是( A )。
Strings=newString("abcdefg");
for(inti=0;i System.out.print(s.charAt(i));
}
A)aceg B)ACEG C)abcdefg D)abcd
34、有整型数组:
int[] x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是( A )。
A)2 7 8 12 35 B)12 35 8 7 2
C)35 12 8 7 2 D)8 7 12 35 2
35、应用程序的main方法中有以下语句,则输出的结果是( A )。
String s1=newString("abc");
String s2=newString("abc");
booleanb1=s1.equals(s2);
booleanb2=(s1==s2);
System.out.print(b1+" "+b2);
A)true false B)false true C)true true D)false false
36、应用程序的main方法中有以下语句,则输出的结果是( B )。
Hashtablehashtable=newHashtable();
hashtable.put("x","12345");
hashtable.put("y","67890");
hashtable.put("a","abcde");
System.out.println(hashtable.get("a"));
A)a B)abcde C)12345 D)67890
37、应用程序的main方法中有以下语句,则输出的结果是( B )。
String s="12345#aaa#bbb#67890";
int n=s.indexOf("#");
int k=s.indexOf("#",n+1);
int m=s.indexOf("#",k+1);
String s2=s.substring(m+1);
System.out.println(s2);
A)123456 B)67890 C)aaa D)bbb
38、下面程序段执行后b的值是(B )。
Integerinteg=newInteger(9);
booleanb=integ instanceof Object;
A)9 B)true C)1 D)false
39、应用程序Test.java的源程序如下,在命令行键入:
javaTest aaa bb c
回车后输出的结果是( A )。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
int k1=args.length;
int k2=args[1].length();
System.out.print(k1+" "+k2);
}
}
A)3 2 B)1 2 C)1 3 D)3 3
40、应用程序的main方法中有以下语句,则输出的结果是(A )。
int b[][]={{1},{2,2},{2,2,2}};
intsum=0;
for(inti=0;i for(intj=0;j
sum*=b[i][j];
}
}
System.out.println("sum="+sum);
A)32 B)11 C)2 D)3
41、应用程序的main方法中有以下语句,则执行后输出的结果是( D )。
int[] x={125,21,5,168,98};
int max=x[0];
for(inti=1;i if(x[i]>max)
max=x[i];
}
System.out.println(max);
A)125 B)5 C)98 D)168
42、程序Test.java编译运行后输出的结果是( A )。
publicclassTest{
Strings1="java";
publicstaticvoidmain(Stringargs[]){
intz=2;
Testt=newTest();
System.out.println(t.s1+z);
}
}
A)java2 B)2 C)没有输出结果 D)java
43、应用程序的main方法中有以下语句,则输出的结果是( A )。
Strings1="0.5",s2="12";
doublex=Double.parseDouble(s1);
int y=Integer.parseInt(s2);
System.out.println(x+y);
A)12.5 B)120.5 C)12 D)“12.5”
44、如下哪个是Java中的标识符( A )
A、public B、super C、3number D、width
45、如下哪个是Java中的标识符( A )
A、fieldname B、super C、3number D、#number
46、已知如下定义:
Strings="story";下面哪个语句不是合法的( A )
A、s+="books"; B、s=s+100;
C、intlen=s.length; D、Stringt=s+“abc”;
47、如下哪个是Java中有效的关键字( C )
A、name B、hello C、false D、good
48、下面的代码段执行之后count的值是什么( D )
intcount=1;
for(inti=1;i<=5;i++){
count+=i;
}
System.out.println(count);
A、5 B、1 C、15 D、16
49、定义一个类,必须使用的关键字是( B )
A、public B、class C、interface D、static
50、定义一个接口必须使用的关键字是( C )
A、public B、class C、interface D、static
51、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是( C )
A、p.add(b); B、p.add(b,"North");
C、p.add(b,"South"); D、b.add(p,"North");
52、声明并创建一个按钮对象b,应该使用的语句是( A )
A、Buttonb=newBut