JAVA期末复习题Word格式文档下载.docx
《JAVA期末复习题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《JAVA期末复习题Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。
16.不论是否捕捉到异常try{}catch(){}final{}语句中finally块中的代码总要被执行。
17.一个类实现一个接口,则该类必须实现接口中的所有方法。
18.线程使用sleep方法去休眠后可以使用notify方法唤醒。
19.线程使用sleep方法休眠是会释放该线程同步锁定的对象。
20.Final类中的属性和方法都必须是final的。
二、选择题
1、Java中复合数据类型不包括(D)
2、请从四个选项中选择答案,下列代码的执行结果是:
(C)
PublicclassTest{
Publicstaticvoidmain(Stringargs[]){
Floatt=;
Intq=6;
System.out.println((t++)*(--q));
}
A.40B.40.0C
3、下列关于修饰符混用的说法,错误的是(D)
A.abstract不能与final并列修饰同一个类
B.abstract类中可以有非abstract的方法
C.普通类(非abstract类)中不能有abstract方法
D.static方法中能处理非static的属性
4、关于被保护访问控制符protected修饰的成员变量,以下说法正确的是(A)
A.可以被该类自身、与它在同一个包中的其它类、在其它包中的该类的子类所访问
B.只能被该类本身和该类的所有的子类访问
C.只能被该类自身所访问
D.只能被同一个包中的类访问
5、x=2,y=3,z=4,则表达式z*=y++*--x的值是(A)
A.12B.24C
6、以下赋值语句正确的是(D)
A.charc1=”a”B.floatf1=3.22C.byteb1=266D.longL1=0xAC8L
7、Java不支持多重继承,但我们可以通过(B)实现
8.已知类person是类student的父类,以下数组定义和赋值哪些是正确的(A)
A.personp[]=newperson[3];
p[1]=newstudent();
B.students[]=newperson[3];
s[1]=newperson();
C.personp[]=newstudent[3];
p[1]=newperson();
D.students[]=newstudent[3];
s[1]=newperson;
9编译之后,得到了三个字节码文件:
MyClass.class,MyClasslittle$.classMyClass$1.class.这表明(C)
A.MyClass类中的两个方法:
little和1
B.MyClass.Java中有三个类:
MyClass、little和1
C.MyClass类中有两个内部类:
一个是命名的little,另一个是匿名的1
D.MyClass、little和1,这三者没什么关系
10、main方法是javaApplication程序执行的入口点,关于main方法的方法头以下(B)是合法的。
A.publicstaticvoidmain()B.publicstaticvoidmain(Stringarg[])
C.publicstaticintmain(String[]arg)D.B.publicvoidmain(Stringarg[])
11、当编译和运行下面的代码会出现什么情况?
(A)
Importjava.io.*;
ClassExBase{
Abstractpublicvoidmartley()
PublicclassMyExextendsExBase{
Publicstaticvoidmain(Stringargv[]){
DataInputStreamfi=newDataInputStream(System.in);
Try{
Fi.readChar();
Catch(IOEceptione){
System.exit(0);
Finally{System.out.println(“Doingfinally”);
A.编译错误B.可以运行,没有打印出”Doingfinally”
C.可以运行,在打印出”Doingfinally”
12、当编译和运行下面的代码会出现什么情况?
(D)
PublicclassSandys{
Privateintcourt;
Sandyss=newSandys(99);
System.out.println(s.court);
Sandys(intballeount){
court=ballcount;
A.编译错误,变量court被定义为private
B.
C.可以编译和运行,没有输出结果
D.可以编译和运行,输出结果为99
13、给出下面的代码:
ClassBase{}
ClassAggextendsBase{
PublicStringgetFields(){
Stringname=”Agg”;
Returnname;
PublicclassAvf{
Basea=newAgg();
//Here
当把下面的代码添加到注释“/Here”后面,程序的输出结果是”Agg”(D)
A.System.out.println(a.getFields())B.System.out.println(a.name)
C.System.out.println((Base)a.getFields())D.System.out.println(((Agg)a).getFields())
14、当编译和运行下面的代码会出现什么情况?
AbstractclassBase{
Abstractpublicvoidmyfunc();
Publicvoidanother(){
Systern.out.println(“Anothermethod”);
PublicclassAbsextendsBase{}
Absa=newAbs();
a.amethod();
Publicvoidmyfunc(){
System.out.println(“MyFunc”)
A.可以编译和运行,输出的结果是”Myfunc”
B.出现编译错误:
Base类中没有抽象方法
C.可以编译,但运行是提示Base类中没有抽象方法
D.出现编译错误,Base类中的方法myfunc没有方法体
15、编译和运行下面的代码会出现(D)
ClassBase{
Publicvoidamethod()throwsFileNotFoundException{}
PublicclassExcepDemoextendsBase{
NewExcepDemo();
Publicvoidamethod(){}
ProtectedExcepDemo(){
try{
BufferedReaderinputStream=newBufferedReader(newInputStreamReader);
System.out.println(“Pausing”);
inputStream.readLine();
System.out.println(“Contimuing”);
This.amethod();
}catch(IOExceptionioe){}
A.编译错误,因为构造方法被声明为protected
B.编译错误,因为方法amethod没有抛出异常
C.运行时错误,因为方法amthod没有抛出异常
D.可以编译和运行,输出的结果是:
Pausing
…
Continuing
其中…表示等待用户的键盘输入
17、以下程序的输出结果是(C)
classAclass{
voidgo(){System.out.println(“Aclass”);
publicclassBclassextendsAclass{
Voidgo{
System.out.println(“Bclass”);
Aclassa=newAclass();
Aclassal=newBclass();
a.go();
al.go();
A、Aclass
Aclass
B、Bclass
Bclass
C、Aclass
D、Bclass
Aclass
18、看以下程序
Booleana=false;
Booleanb=true;
Booleanc=(a&
&
b)&
(!
b);
Intresult=c==false?
1:
2;
这段程序执行完后,c与result的值是:
A.c=false;
result=1;
B.c=true;
result=2;
C.c=true;
D.c=false;
19、下面哪个单词是Java语言的关键字(B)
20、switch语句(A)
A.都可以用if-elseif结构实现
B.都不可以用if-elseif结构实现
C.有的可以用if-elseif结构实现
D.大部分不可以用if-elseif结构实现
21、在异常处理中,如释放资源、关闭文件等善后操作由(C)来完成。
A.try子句B.catch子句
C.finally子句D.throw子句
22、下面哪个是Java语言中正确的标识符(C)
A.3comB.importC.thatD.this
23、下面哪个修饰符修饰的方法只能被本类中的其他方法使用(C)
A.protectedB.staticC.privateD.
24、下面哪条语句定义了5个元素的数组(A)
A.int[]a={22,23,24,25,12};
B.inta[]=newint(5);