java期末复习题.docx
《java期末复习题.docx》由会员分享,可在线阅读,更多相关《java期末复习题.docx(23页珍藏版)》请在冰豆网上搜索。
java期末复习题
一、单项选择题
1.下面哪些是java语言中的关键字?
A.sizeofB.abstractC.NULLD.Native
2.下面语句哪个是正确的?
A.char='abc';B.longl=oxfff;C.floatf=0.23;D.double=0.7E-3;
3.以下程序测试String类的各种构造方法,试选出其运行效果。
classSTR{
publicstaticvoidmain(Stringargs[]){
Strings1=newString();
Strings2=newString("String2");
charchars[]={'a','','s','t','r','i','n','g'};
Strings3=newString(chars);
Strings4=newString(chars,2,6);
bytebytes[]={0,1,2,3,4,5,6,7,8,9};
StringBuffersb=newStringBuffer(s3);
Strings5=newString(sb);
System.out.println("TheStringNo.1is"+s1);
System.out.println("TheStringNo.2is"+s2);
System.out.println("TheStringNo.3is"+s3);
System.out.println("TheStringNo.4is"+s4);
System.out.println("TheStringNo.5is"+s5);
}
}
A.TheStringNo.1is
TheStringNo.2isString2
TheStringNo.3isastring
TheStringNo.4isstring
TheStringNo.5isastring
B.TheStringNo.1is
TheStringNo.2isString2
TheStringNo.3isastring
TheStringNo.4istring
TheStringNo.5isastring
C.TheStringNo.1is
TheStringNo.2isString2
TheStringNo.3isastring
TheStringNo.4isstrin
TheStringNo.5isastring
D.以上都不对
4.下面语句段的输出结果是什么?
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.defaultB.default,zero
C.errordefaultclausenotdefinedD.nooutputdisplayed
5.有关类Demo,哪句描述是正确的?
publicclassDemoextendsBase{
privateintcount;
publicDemo(){
System.out.println("ADemoobjecthasbeencreated");
}
protectedvoidaddOne(){count++;}
}
A.当创建一个Demo类的实例对象时,count的值为0。
B.当创建一个Demo类的实例对象时,count的值是不确定的。
C.超类对象中可以包含改变count值的方法。
D.Demo的子类对象可以访问count。
6.当编译和运行下列程序段时,会发生什么?
classBase{}
classSubextendsBase{}
classSub2extendsBase{}
publicclassCEx{
publicstaticvoidmain(Stringargv[]){
Baseb=newBase();
Subs=(Sub)b;
}
}
A.通过编译和并正常运行。
B.编译时出现例外。
C.编译通过,运行时出现例外。
7.如果任何包中的子类都能访问超类中的成员,那么应使用哪个限定词?
A.publicB.privateC.protectedD.transient
8.下面的哪个选项是正确的?
classExSuper{
Stringname;
Stringnick_name;
publicExSuper(Strings,Stringt){
name=s;
nick_name=t;
}
publicStringtoString(){
returnname;
}
}
publicclassExampleextendsExSuper{
publicExample(Strings,Stringt){
super(s,t);
}
publicStringtoString(){
returnname+"a.k.a"+nick_name;
}
publicstaticvoidmain(Stringargs[]){
ExSupera=newExSuper("First","1st");
ExSuperb=newExample("Second","2nd");
System.out.println("ais"+a.toString());
System.out.println("bis"+b.toString());
}
}
A.编译时会出现例外。
B.运行结果为:
aisFirst
bissecond
C.运行结果为:
aisFirst
bisSeconga.k.a2nd
D.运行结果为:
aisFirsta.k.a1nd
bisSeconda.k.a2nd
9.运行下列程序的结果是哪个?
abstractclassMineBase{
abstractvoidamethod();
staticinti;
}
publicclassMineextendsMineBase
{
publicstaticvoidmain(Stringargv[]){
int[]ar=newint[5];
for(i=0;i System.out.println(ar[i]);
}
}
A.打印5个0。
B.编译出错,数组ar[]必须初始化。
C.编译出错,Mine应声明为abstract。
D.出现IndexOutOfBoundes的例外。
10.请问所有的例外类皆继承哪一个类?
A.java.io.ExceptionB.java.lang.Throwable
C.java.lang.ExceptionD.java.lang.Error
11.下面程序段的执行结果是什么?
publicclassFoo{
publicstaticvoidmain(String[]args){
try{
return;}
finally{System.out.println("Finally");
}
}
}
A.程序正常运行,但不输出任何结果。
B.程序正常运行,并输出"Finally"。
C.编译能通过,但运行时会出现一个例外。
D.因为没有catch语句块,所以不能通过编译。
12.编译Java Application源程序文件产生的字节码文件的扩展名为( )。
A.java B.class
C.html D.exe
13.下列哪个是合法的Java标识符( )?
A.&2 B.123.9
C._2# D.public
14.设有下面两个类的定义:
class Person{long id; //身份证号
String name; //姓名}
classStudent extends Person{int score; //入学总分
int getScore(){return score;}}
问:
类Person和类Student的关系是( )。
A.包含关系 B.继承关系
C.关联关系 D.无关系,上述类定义有语法错误
15.JavaApplication源程序的主类是指包含有()方法的类。
A、main方法B、toString方法
C、init方法D、actionPerformed方法
13.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用()个比特位。
A、8B、16C、32D、64
16.在编写JavaApplication程序时,若需要使用到标准输入输出语句,必须在程序的开头写上()语句。
A、importjava.awt.*;B、importjava.applet.Applet ;
C、importjava.io.* ;D、importjava.awt.Graphics ;
17.若需要定义一个类域或类方法,应使用哪种修饰符?
()
A、staticB、packageC、privateD、public
18.在Java中,存放字符串常量的对象属于(B)类对象。
A、CharacterB、StringC、StringBufferD、Vector
19.在Java中,开发图形用户界面的程序需要使用一个系统提供的类库,这个类库就是()包。
A、java.ioB、java.awtC、java.appletD、java.awt.event
20.关于被保护访问控制符protected修饰的成员变量,以下说法正确的是()。
A、可以被三种类所引用:
该类自向、与它在同一个包中的其他类、在其他包中的该类的子类
B、可以被两种类访问和引用:
该类本身、该类的所有子类
C、只能被该类自身所访问和修改
D、只能被同一个包中的类访问
21.下列关于修饰符混用的说法,错误的是()
A、abstract不能与final并开修饰同一个类
B、abstract类中不可以有private的成员
C、abstract方法必须在abstract类中
D、static方法中能处理非static的属性
22.在使用interface声明一个接口时,只可以使用()修饰符修饰该接口。
A、privateB、protectedC、privateprotectedD、public
23.编译运行以下程序后,关于输出结果的说明正确的是()
publicclassConditional{
publicstaticvoidmain(Stringargs[]){
intx=4;
System.out.println(“valueis“+((x>4)?
99.9:
9));
}
}
A、输出结果为:
valueis99.9B、输出结果为:
valueis99.99
C、输出结果为:
valueis9.0D、编译错误
24.在JavaApplet程序用户自定义的Applet子类中,常常重载()方法在Applet的界面中显示文字、图形和其它界面元素。
A、start()B、stop()C、init()D、paint()
25.编译JavaApplet源程序文件产生的字节码文件的扩展名为()。
A、javaB、classC、htmlD、exe
26.在使用interface声明一个接口时,只可以使用( )修饰符修饰该接口。
A.privateB.protected
C.private protectedD.public
27.在编写异常处理的Java程序中,每个catch语句块都应该与( )语句块对应,使得用该语句块来启动Java的异常处理机制。
A.if-else B.switch
C.try D.throw
28.请问所有的例外类皆继承哪一个类?
A.java.io.ExceptionB.java.lang.Throwable
C.java.lang.ExceptionD.java.lang.Error
29.paint()方法使用哪种类型的参数?
A.GraphicsB.Graphics2D
C.StringD.Color
30.指出正确的表达式
A.byte=128;B.Boolean=null;
C.longl=0xfffL;D.double=0.9239d;
31.类的设计要求它的某个成员变量不能被外部类直接访问,应该使用下面的哪些修饰符获得需要的访问控制()?
A.public B.default
C.protected D.private
32、paint()方法使用哪种类型的参数?
()
A、Graphics
B、Graphics2D
C、String
D、Color
33、指出正确的表达式()
A、byte=128;
B、Boolean=null;
C、longl=0xfffL;
D、double=0.9239d;
34、指出下列程序运行的结果()
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、goodandabc
B、goodandgbc
C、testokandabc
D、testokandgbc
35、运行下列程序,会产生什么结果()
publicclassXextendsThreadimplementsRunable{
publicvoidrun(){
System.out.println("thisisrun()");
}
publicstaticvoidmain(Stringargs[]){
Threadt=newThread(newX());
t.start();
}
}
A、第一行会产生编译错误
B、第六行会产生编译错误
C、第六行会产生运行错误
D、程序会运行和启动
36、要从文件“file.dat”文件中读出第10个字节到变量C中,下列哪个方法适合?
()
A、FileInputStreamin=newFileInputStream("file.dat");in.skip(9);intc=in.read();
B、FileInputStreamin=newFileInputStream("file.dat");in.skip(10);intc=in.read();
C、FileInputStreamin=newFileInputStream("file.dat");intc=in.read();
D、RandomAccessFilein=newRandomAccessFile("file.dat");in.skip(9);intc=in.readByte();
37、容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?
()
A、CardLayout
B、FlowLayout
C、BorderLayout
D、GridLayout
38、给出下面代码:
publicclassPerson{
staticintarr[]=newint[10];
publicstaticvoidmain(Stringa[]){
System.out.println(arr[1]);
}
}
那个语句是正确的?
()
A、编译时将产生错误;
B、编译时正确,运行时将产生错误;
C、输出零;
D、输出空。
39、哪个关键字可以对对象加互斥锁?
()
A、transient
B、synchronized
C、serialize
D、static
40、下列哪些语句关于内存回收的说明是正确的?
()
A、程序员必须创建一个线程来释放内存;
B、内存回收程序负责释放无用内存
C、内存回收程序允许程序员直接释放内存
D、内存回收程序可以在指定的时间释放内存对象
41、下列代码哪几行会出错:
()
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、line4
B、line6
C、line7
D、line8
42、Java语言是()
A、面向问题的解释型高级编程语言
B、面向机器的低级编程语言
C、面向过程的编译型高级编程语言
D、面向对象的解释型高级编程语言
43、下列的变量定义中,错误的是()
A、inti;
B、inti=Integer.MAX_VALUE;
C、staticinti=100;
D、int123_$;
44、以下的变量定义语句中,合法的是()
A、float$_*5=3.4F;
B、byteb1=15678;
C、doublea=Double.MAX_VALUE;
D、int_abc_=3721L;
45、以下字符常量中不合法的是()
A、'|'
B、'\''
C、"\n"
D、'我'
46、若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是()
A、b=a!
=7;
B、a=7+b+c=9;
C、i=12.3*%4;
D、a=a+7=c+b;
47、下列程序段执行后t5的结果是()
intt1=9,t2=11,t3=8;
intt4,t5;
t4=t1>t2?
t1:
t2+t1;
t5=t4>t3?
t4:
t3;
A、8
B、20
C、11
D、9
48、设a,b,c,d均为int型的变量,并已赋值,下列表达式的结果属于非逻辑值的是()
A、a!
=b&c%dB、a++==a+b+c+d
C、++a*b--+d
D、a+b>=c+d
49、执行下列程序段后,b,x,y的值分别是()
intx=6,y=8;
booleanb;
b=x>y&&++x==--y;
A、true,6,8
B、false,7,7
C、true,7,7
D、false,6,8
50、以下由do-while语句构成的循环执行的次数是()
intk=0;
do{++k;}while(k<1);
A、一次也不执行
B、执行1次
C、无限次
D、有语法错,不能执行
二、填空
1.Java源程序是由类定义组成的,每个程序中可以定义若干个类,但是只有一个类是主类。
在JavaApplication中,这个主类是指包含____main_____方法的类;在JavaApplet中,这个主类是一个系统类__Applet__的子类。
2.创建一个名为MyPackage的包的语句是:
______pakage_MyPackage;___________。
3._____抽象_____方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
_____私有_____方法是不能被当前类的子类重新定义的方法。
4.形式参数指的是方法被___定义____时的参数行,实际参数是方法被____调用_____时所传递进去的变量或值。
5.多态是指____发出同样的消息被不同类型的对象接收时,有可能导致完全不同的行为_____,在Java中有两种多态,一种是使用方法的___重载_____实现多态,另一种是使用方法的____重写____实现多态。
6.在Java程序中,通过类的定义只能实现_____单____重继承,但通过接口的定义可以实现____多___重继承关系。
7.子类重新定义一个与从父类那里继承来的域变量完全相同的变量,这种面向对象程序设计特性称为域的_____隐藏_____。
8.字符串分两大类,一类是字符串常