Java期末考试复习题.docx
《Java期末考试复习题.docx》由会员分享,可在线阅读,更多相关《Java期末考试复习题.docx(18页珍藏版)》请在冰豆网上搜索。
Java期末考试复习题
JAVA程序设计复习题
一、单项选择题(在每小题列出的各选项中只有一个是符合题目要求的,请将其代码填在括号内)
1、欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?
(B)
A、ArrayListmyList=newObject();
B、ArrayListmyList=newArrayList();
C、ArrayListmyList=newList();
D、ListmyList=newList();
2、paint()方法使用哪种类型的参数?
(A)
A、GraphicsB、Graphics2DC、StringD、Color
3、指出正确的表达式(C)
A、byte=128;B、Boolean=null;C、longl=0xfffL;D、double=0.9239d;
4、指出下列程序运行的结果(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");
Sytem.out.print(ex.ch);
}
publicvoidchange(Stringstr,charch[]){
str="testok";
ch[0]='g';
}
}
A、goodandabcB、goodandgbcC、testokandabcD、testokandgbc
5、运行下列程序,会产生什么结果(A)
publicclassXextendsThreadimplementsRunable{
publicvoidrun(){
System.out.println("thisisrun()");
}
publicstaticvoidmain(Stringargs[]){
Threadt=newThread(newX());
t.start();
}
}
A、第一行会产生编译错误B、第六行会产生编译错误
C、第六行会产生运行错误D、程序会运行和启动
6、容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?
(C)
A、CardLayoutB、FlowLayoutC、BorderLayoutD、GridLayout
7、给出下面代码:
publicclassPerson{
staticintarr[]=newint[10];
publicstaticvoidmain(Stringa[]){
System.out.println(arr[1]);
}
}
那个语句是正确的?
(C)
A、编译时将产生错误;B、编译时正确,运行时将产生错误;
C、输出零;D、输出空。
8、下列哪些语句关于内存回收的说明是正确的?
(B)
A、程序员必须创建一个线程来释放内存;
B、内存回收程序负责释放无用内存
C、内存回收程序允许程序员直接释放内存
D、内存回收程序可以在指定的时间释放内存对象
9、下列代码哪几行会出错:
(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
10、Java语言是(D)
A、面向问题的解释型高级编程语言
B、面向机器的低级编程语言
C、面向过程的编译型高级编程语言
D、面向对象的解释型高级编程语言
11、下列的变量定义中,错误的是(D)
A、inti;
B、inti=Integer.MAX_VALUE;
C、staticinti=100;
D、int123_$;
12、以下的变量定义语句中,合法的是(C)
A、float$_*5=3.4F;
B、byteb1=15678;
C、doublea=Double.MAX_VALUE;
D、int_abc_=3721L;
13、以下字符常量中不合法的是(C)
A、'|'
B、'\''
C、"\n"
D、'我'
14、若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是(A)
A、b=a!
=7;
B、a=7+b+c=9;
C、i=12.3*%4;
D、a=a+7=c+b;
15、下列程序段执行后t5的结果是(B)
intt1=9,t2=11,t3=8;
intt4,t5;
t4=t1>t2?
t1:
t2+t1;
t5=t4>t3?
t4:
t3;
A、8B、20C、11D、9
16、设a,b,c,d均为int型的变量,并已赋值,下列表达式的结果属于非逻辑值的是(C)
A、a!
=b&c%d=c+d
17、执行下列程序段后,b,x,y的值分别是(D)
intx=6,y=8;
booleanb;
b=x>y&&++x==--y;
A、true,6,8B、false,7,7C、true,7,7D、false,6,8
18、以下由do-while语句构成的循环执行的次数是(B)
intk=0;
do{++k;}while(k<1);
A、一次也不执行
B、执行1次
C、无限次
D、有语法错,不能执行
19、给定下面的代码片段:
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");}
哪些行会导致错误?
(C)
A、line1
B、line2
C、line5
D、line8
20、下面哪种注释方法能够支持javadoc命令:
(D)
A、/**...**/
B、/*...*/
C、//
D、/**...*/
21、下面关于Applet的说法正确的是(B)
A、Applet也需要main方法
B、Applet必须继承自java.awt.Applet
C、Applet能访问本地文件
D、Applet程序不需要编译
22、看下面一段程序:
classAclass{
voidgo(){
System.out.println("Aclass");
}
}
publicclassBclassextendsAclass{
voidgo(){
System.out.println("Bclass");
}
publicstaticvoidmain(Stringargs[]){
Aclassa=newAclass();
Aclassa1=newBclass();
a.go();
a1.go();
}
}
以上程序运行结果是:
(C)
A、Aclass
Aclass
B、Bclass
Bclass
C、Aclass
Bclass
D、Bclass
Aclass
23、看以下程序:
booleana=false;
booleanb=true;
booleanc=(a&&b)&&(!
b);
intresult=c==false?
1:
2;
这段程序执行完后,c与result的值是:
(A)
A、c=false;result=1;
B、c=true;result=2;
C、c=true;result=1;
D、c=false;result=2;
24、指出下列程序的运行结果(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、errordefaultclausenotdefined
D、nooutputdisplayed那个
25、运行下列程序,会产生什么结果:
(B)
classOuter1{
privateinta;
voidfoo(doubled,finalfloatf){
Strings;
finalbooleanb;
classInner{
voidmethodInner(){
System.out.println("intheInner");
}
}
}
publicstaticvoidmain(Stringargs[]){
Outer1me=newOuter1();
me.foo(123,123);
System.out.println("outer");
}
}
A、intheInnerouterB、outerC、intheInnerD、编译不通过
26、下列语句序列执行后,x的值是(B)
inta=3,b=4,x=5;
if(++a==b)x=++a*x;
A、35B、25C、20D、5
27、下列语句序列执行后,k的值是(C)
inti=6,j=8,k=10,m=7;
if(i>j||melsek--;
A、12B、11C、10D、9
28、下列语句序列执行后,k的值是(D)
intj=8,k=15;
for(inti=2;i!
=j;i++)
{j-=2;k++;}
A、18
B、15
C、16
D、17
29、下列语句序列执行后,j的值是(D)
intj=3,i=2;
while(--i!
=i/j)
j=j+2;
A、2
B、4
C、6
D、5
30、下列语句序列执行后,k的值是(D)
intx=6,y=10,k=5;
switch(x%y)
{case0:
k=x*y;
case6:
k=x/y;
case12:
k=x-y;
default:
k=x*y-x;
}
A、60
B、5
C、0
D、54
31、下列语句序列执行后,a的值是(D)
inta=13;
a%=a/5;
A、3
B、13
C、169
D、1
32、既能作为类的修饰符,也能作为类成员的修饰符的是(A)
A、public
B、extends
C、Float
D、static
33、下列选项中,用于定义接口的关键字是(C)
A、import
B、implements
C、interface
D、protected
34.下列语句序列执行后,k的值是(B)。
intm=3,n=6,k=0;
while((m++)<(--n))++k;
A)0B)1C)2D)3
35.设i、j为int型变量名,a为int型数组名,以下选项中,正确的赋值语句是(B)。
A)i=i+2B)a[0]=7;
C)i++---j;D)a(0)=66;
36.Java语言的类间的继承关系是(B)。
A)多重的B)单重的C)线程的D)不能继承
37.设有定义inti=6;,则执行以下语句后,i的值为(C)。
i+=i-1;
A)10B)121C)11D)100
38.下列选项中,用于在定义子类时声明父类名的关键字是(C)。
A)interfaceB)packageC)extendsD)class
39.若已定义byte[]x={11,22,33,-66};
其中0≤k≤3,则对x数组元素错误的引用是(C)。
A)x[5-3]B)x[k]C)x[k+5]D)x[0]
40.下列语句序列执行后,ch1的值是(B)。
charch1='A',ch2='W';
if(ch1+2A)‘A'B)‘B'C)‘C'D)B
41.下列语句序列执行后,i的值是(D)。
inti=8,j=16;
if(i-1>j)i--;elsej--;
A)15B)16C)7D)8
42.下列语句序列执行后,k的值是(C)。
inti=10,j=18,k=30;
switch(j-i)
{case8:
k++;
case9:
k+=2;
case10:
k+=3;
default:
k/=j;
}
A)31B)32C)2D)33
43.下面语句执行后,i的值是(B)。
for(inti=0,j=1;j<5;j+=3)i=i+j;
A)4B)5C)6D)7
44.设有定义floatx=3.5f,y=4.6f,z=5.7f;则以下的表达式中,值为true的是(B)。
A)x>y||x>zB)x!
=y
C)z>(y+x)D)x(x45.下列语句序列执行后,i的值是(D)。
inti=16;
do{i/=2;}while(i>3);
A)16B)8C)4D)2
46.以下由for语句构成的循环执行的次数是(B)。
for(inti=0;true;i++);
A)有语法错,不能执行B)无限次
C)执行1次D)一次也不执行
47.定义类头时能使用的修饰符是(C)。
A)privateB)staticC)abstract抽象的D)protected
48.设int型变量a、b,float型变量x、y,char型变量ch均已正确定义并赋值,
正确的switch语句是(B)。
A)switch(x+y)B)switch(ch+1)
{......}{......}
C)switchchD)switch(a+b);
{......}{......}
49.下列类定义中,不正确的是(C)。
A)classx{....}
B)classxextendsy{....}
C)staticclassximplementsy1,y2{....}
D)publicclassxextendsApplet{....}
50.设x、y为已定义的类名,下列声明x类的对象x1的语句中正确的是(A)。
A)staticxx1;B)publicxx1=newx(int123);
C)yx1;D)xx1=x();
519.设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不正确的是(B)。
A)x(intm){...}B)voidx(intm){...}
C)x(intm,intn){...}D)x(inth,intm,intn){...}
52.下列方法定义中,正确的是(A)。
A)intx(){charch='a';return(int)ch;}
B)voidx(){...returntrue;}
C)intx(){...returntrue;}
D)intx(inta,b){returna+b;}
53.用于定义类成员的访问控制权的一组关键字是(D)。
A)class,float,double,public
B)float,boolean,int,long
C)char,extends,float,double
D)public,private,protected还有默认的
54.不能构成循环的语句是(C)。
A)for语句B)while语句C)switch语句D)do__while语句
55.下列程序段执行后b3的结果是(C)。
booleanb1=true,b2=false,b3;
b3=b1?
b1:
b2;
A)0B)1C)trueD)false
56.设有定义inti=123;longj=456;下面赋值不正确的语句是(D)。
A)j=i;B)j=(long)i;C)i=(int)j;D)i=j;
二、多项选择题(在每小题列出的各选项中至少有两个是符合题目要求的,请将其代码填在括号内)
1、执行下列代码后,哪个结论是正确的String[]s=newString[10];(BD)
A、s[10]为"";B、s[9]为null;C、s[0]为未定义D、s.length为10
2、下面的表达式哪个是正确的?
(AE)
A、Strings="你好";inti=3;s+=i;
B、Strings="你好";inti=3;if(i==s){s+=i};
C、Strings="你好";inti=3;s=i+s;
D、Strings="你好";inti=3;s=i+;
E、Strings=null;inti=(s!
=null)&&(s.length>0)?
s.length():
0;
3、选出合理的标识符(AC)
A、_sys1_lllB、2mailC、$changeD、class
4、哪个布局管理器使用的是组件的最佳尺寸(preferredsize)(AE)
A、FlowLayoutB、BorderLayoutC、GridLayoutD、CardLayout
E、GridBagLayout
5、指出正确的表达式(AB)
A、doublea=1.0;B、Doublea=newDouble(1.0);
C、bytea=340;D、Bytea=120;
6、定义一个类名为"MyClass.java"的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为:
(CD)
A、privateclassMyClassextendsObjectB、classMyClassextendsObject
C、publicclassMyClassD、publicclassMyClassextendsObject
7、如果下列的方法能够正常运行,在控制台上将显示什么?
(ACD)
publicvoidexample(){
try{
unsafe();
System.out.println("Test1");
}catch(SafeExceptione){
System.out.println("Test2");}
finally{System.out.println("Test3");}
System.out.println("Test4");
}
A、Test1B、Test2C、Test3D、Test4
8、下面哪些标识符在Java语言中是合法的?
(AB)
A、persons$B、TwoUsersC、*pointD、instanceof
E、end-line
9、下面哪些赋值语句是错误的?
(ADE)
A、floatf=11.1;B、doubled=5.3E12;C、charc='\r';
D、bytebb=433;E、Booleanb=true;
10、给定下面的代码片段:
publicvoidTest(){
try{
method();
System.out.println("HelloWorld");
}catch(ArrayIndexOutOfBoundsExceptione){
System.out.println("Exception?
");
}
catch(Exceptione){
System.out.println("Exception1");
}
finally{
System.out.println("Thankyou!
");
}
}
如果函数method正常运行并返回,会显示下面的哪些信息?
(AD)
A、HelloWorldB、ExceptionC、Exception1D、Thankyou!
11、下列哪些语句是正确的?
(BCD)
A、inta[][]=newint[][3];
B、inta[][]={{1,3},{2,3,4},{1,2}};
C、Strings[][]=newString[2][];
D、Strings[][]={{"can","I"},{"help","you"}}
12、下面哪些语句能够正确地生成5个空字符串?
(AB)
A、Stringa[]=newString[5];for(inti=0;i<5;a[i++]=