Java面向对象程序设计期末复习题汇总.docx
《Java面向对象程序设计期末复习题汇总.docx》由会员分享,可在线阅读,更多相关《Java面向对象程序设计期末复习题汇总.docx(49页珍藏版)》请在冰豆网上搜索。
Java面向对象程序设计期末复习题汇总
一、单项选择题
1.指出正确的表达式()。
C
A.byte=128;
B.Boolean=null;
C.longl=0xfffL;
D.double=0.9239d;
2.指出下列程序运行的结果B
publicclassExample{
Stringstr=newString("good");
char[]ch={'a','b','c'};
publicstaticvoidmain(Stringargs[]){
Exampleex=newExample();
ex.change(ex.str,ex.ch);
System.out.print(ex.str+"and");
System.out.print(ex.ch);
}
publicvoidchange(Stringstr,charch[]){
str="testok";
ch[0]='g';
}
}
A.goodandabc
B.goodandgbc
C.testokandabc
D.testokandgbc
3.给出下面代码:
C
publicclassPerson{
staticintarr[]=newint[10];
publicstaticvoidmain(Stringa[])
{
System.out.println(arr[1]);
}
}
那个语句是正确的?
A.编译时将产生错误;B.编译时正确,运行时将产生错误;
C.输出零;D.输出空。
4.哪个关键字可以对对象加互斥锁?
B
A.transientB.synchronizedC.serializeD.static
5.下列代码哪几行会出错:
C
1)publicvoidmodify(){
2)intI,j,k;
3)I=100;
4)while(I>0){
5)j=I*2;
6)System.out.println("Thevalueofjis"+j);
7)k=k+1;
8)I--;
9)}
10}
A.line4B.line6C.line7D.line8
6.MAX_LENGTH是int型public成员变量,变量值保持为常量100,用简短语句定义这个变量。
D
A.publicintMAX_LENGTH=100;
B.finalintMAX_LENGTH=100;
C.finalpublicintMAX_LENGTH=100;
D.publicfinalintMAX_LENGTH=100;
7.给出下面代码:
D
1)classParent{
2)privateStringname;
3)publicParent(){}
4)}
5)classChildextendsParent{
6)privateStringdepartment;
7)publicChild(){}
8)publicStringgetValue(){returnname;}
9)publicstaticvoidmain(Stringarg[]){
10)Parentp=newParent();
11)}
12)}
那些行将引起错误?
A.第3行B.第6行C.第7行D.第8行
8.给出下面代码段D1)publicclassTest{
2)intm,n;
3)publicTest(){}
4)publicTest(inta){m=a;}
5)publicstaticvoidmain(Stringarg[]){
6)Testt1,t2;
7)intj,k;
8)j=0;k=0;
9)t1=newTest();
10)t2=newTest(j,k);
11)}
12)}
哪行将引起一个编译时错误?
A.line3B.line5C.line6D.line10
9.对于下列代码:
D
1)classPerson{
2)publicvoidprintValue(inti,intj){//...}
3)publicvoidprintValue(inti){//...}
4)}
5)publicclassTeacherextendsPerson{
6)publicvoidprintValue(){//...}
7)publicvoidprintValue(inti){//...}
8)publicstaticvoidmain(Stringargs[]){
9)Persont=newTeacher();
10)t.printValue(10);
11)}
第10行语句将调用哪行语句?
?
A.line2B.line3C.line6D.line7
10.哪个关键字可以抛出异常?
C
A.transientB.finallyC.throwD.static
11.Main()方法的返回类型是:
B
A.intB.voidC.BooleanD.static
12.System类在哪个包中?
D
A.java.utilB.java.ioC.java.awtD.java.lang
13.给出下面代码:
A
publicclasstest{
staticinta[]=newa[10];
publicstaticvoidmain(Stringargs[]){
System.out.println(arr[10]);
}
}
那个选项是正确的?
A.编译时将产生错误B.编译时正确,运行时将产生错误
C.输出零D.输出空
14.下面哪个选项是正确的main方法说明?
D
A.publicmain(Stringargs[])
B.publicstaticvoidMain(Stringargs[])
C.privatestaticvoidmain(Stringargs[])
D.publicstaticvoidmain(String[]args)
15.给定下面的代码片段:
1)Stringstr=null;
2)if((str!
=null)&&(str.length()>10)){
3)System.out.println("morethan10");
4)}
5)elseif((str!
=null)&(str.length()<5)){
6)System.out.println("lessthan5");
7)}
8)else{System.out.println("end");}
哪些行会导致错误?
A.line1B.line2C.line5D.line8
16.下面哪种注释方法能够支持javadoc命令:
D
A./**...**/B./*...*/C.//D./**...*/
17.看下面一段程序:
C
classAclass{
voidgo(){
System.out.println("Aclass");
}
}
publicclassBclassextendsAclass{
voidgo(){
System.out.println("Bclass");
}
publicstaticvoidmain(Stringargs[]){
Aclassa=newAclass();
Aclassa1=newBclass();
a.go();
a1.go();
}
以上程序运行结果是:
A.AclassB.Bclass
AclassBclass
C.AclassD.Bclass
BclassAclass
18.指出下列程序的运行结果B
inti=9;
switch(i){
default:
System.out.println("default");
case0:
System.out.println("zero");
break;
case1:
System.out.println("one");
case2:
System.out.println("two");
}
A.default
B.default
zero
C.errordefaultclausenotdefinedD.不会有任何输出
19.下面哪个单词是Java语言的关键字()B
A.FloatB.thisC.stringD.unsigned
20.下面哪个是Java语言中正确的标识符()C
A.3comB.importC.thatD.this
21.下面哪个修饰符修饰的方法只能被本类中的其他方法使用()C
A.protectedB.staticC.privateD.public
22.下面哪个是对字符串String的正确定义()A
A.Strings1=null;B.Strings2=’null’;
C.Strings3=(String)’abc’;D.Strings4=newString(‘uface’);
23.下面哪条语句定义了5个元素的数组()A
A.int[]a={22,23,24,25,12};
B.inta[]=newint(5);
C.int[5]array;
D.int[]arr;
24.给出一段程序,选择运行结果()D
publicclasssss{
publicstaticvoidmain(Stringargs[])
{
Strings1=args[1];Strings2=args[2];
Strings3=args[3];Strings4=args[4];
System.out.println(“args[2]=“+s2);
}
}
命令行执行:
javasss1234结果是下面哪一个?
A.args[2]=2B.args[2]=nullC.args[2]=1D.运行出现异常
25.下面程序段的输出结果是()。
A
StringMyStr="Hello,";
MyStr=MyStr+"Guys!
";
System.out.println(MyStr);
A.Hello,Guys!
B.Hello,
C.Guys!
D.该程序段有语法错误
26.给出下面一段程序,选择运行结果()C
publicclassX{
publicstaticvoidmain(String[]args){
Stringnames[]=newString[5];
for(intx=0;xSystem.out.println(names[2]);
}}
命令行执行:
javaXab结果是下面哪一个?
A.namesB.bC.nullD.运行出现异常
27.下面哪个是Java语言中正确的标识符()B
A.3DB.$thisC.extendsD.implements
28.下面哪项可以得到数组元素的个数,java中定义数组名为abc,()B
A.abc.length()B.abc.lengthC.len(abc)D.ubound(abc)
29.下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的()C
A.publicB.privateC.staticD.final
30.在java的一个异常处理中,语句块可以有多个的是()。
A
A.catchB.finallyC.tryD.throws
31.下面的代码段中,执行之后输出的结果是()。
B
inti=1;
intj;
j=i++;
System.out.print(j+“,”+i);
A.1,1
B.1,2
C.2,1
D.2,2
32.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()。
A
A.staticvoidmethod()B.publicvoidmethod()
C.finalvoidmethod()D.abstractvoidmethod()
33.编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为()。
B
A..javaB..class
C..htmlD..exe
34.下列方法用于定义线程执行体的是()。
C
A.start()
B.init()
C.run()
D.main()
35.方法重载是指()。
A
A.两个或两个以上的方法取相同的方法名,但形参的个数或类型不同
B.两个或以上的方法取相同的名字和具有相同的参数个数,但形参的类型可以不同
C.两个或以上的方法名字不同,但形参的个数或类型相同
D.两个或以上的方法取相同的方法名,并且方法的返回类型相同
36.构造方法何时被调用()。
B
A.类定义时 B.创建对象时
C.调用对象方法时 D.使用对象的变量时
37.下面的表达式中正确的是()。
C
A.Strings=″你好″;inti=3;i+=s;
B.Strings=″你好″;inti=3;if(i==s){s+=i};
C.Strings=″你好″;inti=3;s=i+s;
D.Strings=″你好″;inti=3;s=i+;
38.Java程序的执行过程中用到一套JDK工具,其中java.exe是指()。
B
A.Java文档生成器 B.Java解释器
C.Java编译器 D.Java类分解器
39.Java变量中,以下不属于复合类型的数据类型是()B
A.类 B.字符型
C.数组型 D.接口
40.下列哪个方法可用于创建一个可运行的类()。
A
A.publicclassXimplementsRunable{publicvoidrun(){......}}
B.publicclassXimplementsThread{publicvoidrun(){......}}
C.publicclassXextendsThread{publicintrun(){......}}
D.publicclassXextendsRunable{publicvoidrun(){......}}
41.下列语句片段
inta=1,b=4,c=2,d=6;
System.out.println(a++*b+c*--d);
的结果为()。
A.10 B.18
C.14 D.不能执行
43.在编写异常处理的Java程序中,每个catch语句块都应该与()语句块对应,使得用该语句块来启动Java的异常处理机制。
C
A.if–elseB.switchC.tryD.throw
44.下面是一个递归JAVA程序,其功能为()。
C
longFactorial(intn){
if(1==n){
return1;
}
else
returnn*Factorial(n-1);
}
A.求1-n的和 B.求2到n的和
C.求n的阶乘 D.求2-n的积
45.设x=1,y=2,z=3,则表达式y+=z--/++x的值是()。
A
A.3B.3.5
C.4D.5
46.在编写JavaApplication程序时,若需要使用到标准输入输出语句,必须在程序的开头写上()语句。
C
A.importjava.awt.*;B.importjava.applet.Applet;
C.importjava.io.*;D.importjava.awt.Graphics;
47.若在某一个类定义中定义有如下的方法:
abstractvoidperformDial();D
该方法属于()。
A.本地方法B.最终方法C.解态方法D.抽象方法
48.若需要定义类方法,应使用的饰符是()。
A
A.staticB.packageC.privateD.public
49.设有下面两个类的定义:
classPerson{classStudentextendsPerson{
longid;//身份证号intscore;//入学总分
Stringname;//姓名intgetScore(){
}returnscore;
}
}
问:
类Person和类Student的关系是()。
B
A.包含关系B.继承关系
C.关联关系D.无关系,上述类定义有语法错误
50.设有下面的两个类定义:
B
classAA{
voidShow(){System.out.println(“我喜欢Java!
”);
}
classBBextendsAA{
voidShow(){System.out.println(“我喜欢C++!
”);
}
则顺序执行如下语句后输出结果为()。
AAb=newAA();
BBa=newBB();
a.Show();
b.Show();
A.我喜欢Java!
B.我喜欢C++!
我喜欢C++!
我喜欢Java!
C.我喜欢Java!
D.我喜欢C++!
我喜欢Java!
我喜欢C++!
51.在使用interface声明一个接口时,只可以使用修饰符()修饰该接口。
D
A.privateB.protected
C.privateprotectedD.public
52.在Java程序中,通过类的定义只能实现单重继承,但通过()的定义可以实现多重继承关系。
C
A.重载B.覆盖
C.接口D.静态类
53.在编写Java图形用户界面程序时,边界布局管理器是指()。
C
A.GridLayoutB.FlowLayout
C.BorderLayouD.CardLayout
54.下面的Java标识符合法的是()。
B
A.*myFirstVar B.$1234
C.leap-year D.12D
55.执行完以下代码int[]x=newint[25];后,以下哪项说明是正确的()A
A.x[24]为0B.x[24]未定义C.x[25]为0D.x[0]为空
56.以下代码段执行后的输出结果为()。
B
intx=3;inty=10;
System.out.println(y%x);
A.0B.1C.2D.3
57.以下哪个表达式是不合法的()。
B
A.Stringx=“Hello”;inty=9;x+=y;
B.Stringx=“Hello”;inty=9;if(x==y){}
C.Stringx=“Hello”;inty=9;x=x+y;
D.Stringx=null;inty=(x!
=null)&&(x.length()>0)?
x.length:
0
58.以下声明合法的是()B
A.defaultStrings;B.publicfinalstaticintw()
C.abstractdoubled;D.abstractdoublefinalhyperbolicCosine()
59.关于以下程序代码的说明正确的是()D
1)classHasStatic{
2)privatestaticintx=100;
3)publicstaticvoidmain(Stringargs[]){
4)HasStatichs1=newHasStatic();
5)hs1.x++;
6)HasStatichs2=newHasStatic();
7)hs2.x++;
8)hs1=newHasStatic();
9)hs1.x++;
10)HasStatic.x--;
11)System.out.println(“x=“+x);
12)}
13)}
A.5行不能通过编译,因为引用了私有静态变量
B.10行不能通过编译,因为x是私有静态变量
C.程序通过编译,输出结果为:
x=103
D.程序通过编译,输出结果为:
x=102
60.以下选项中循环结构合法的是()C
A.while(inti<7)
{i++;
System.out.println(“iis“+i);
}
B.intj=3;
while(j)
{System.out.println(“j