java复习题.docx
《java复习题.docx》由会员分享,可在线阅读,更多相关《java复习题.docx(49页珍藏版)》请在冰豆网上搜索。
![java复习题.docx](https://file1.bdocx.com/fileroot1/2023-8/13/7e0bf67c-3493-4f9c-9800-e3719551c18b/7e0bf67c-3493-4f9c-9800-e3719551c18b1.gif)
java复习题
java复习题
一、选择题:
(每小题2分,共30分)
1.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用(B)个比特位。
A、8B、16C、32D、64
2.以下关于继承的叙述正确的是(A)。
A、在Java中类只允许单一继承
B、在Java中一个类只能实现一个接口
C、在Java中一个类不能同时继承一个类和实现一个接口
D、在Java中接口只允许单一继承
3.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。
这种面向对象程序的特性称为(C)。
A、隐藏B、覆盖C、重载D、Java不支持此特性
?
4.以下声明合法的是(B)
A、defaultStrings;B、publicfinalstaticnativeintw()
C、abstractdoubled;D、abstractfinalinthyperbolicCosine()
5.在使用interface声明一个接口时,只可以使用(D)修饰符修饰该接口。
A、privateB、protectedC、privateprotectedD、public
6.有语句Strings=”helloworld”;,以下操作哪个是不合法的?
(B)
A、inti=s.length();B、s>>>=3;C、Stringts=s.trim();D、Stringt=s+”!
”;
7.给出下面代码,关于该程序以下哪个说法是正确的?
(C)
publicclassPerson{
staticintarr[]=newint[5];
publicstaticvoidmain(Stringa[]){
System.out.println(arr[0]);
}
}
A、编译时将产生错误B、编译时正确,运行时将产生错误
C、输出零D、输出空
8.编译并运行以下程序,以下描述哪个选项是正确的(D)
1.classA{
2.protectedbooleanequals(){
3.returnsuper.equals();}
4.}
A、编译通过运行无异常B、编译通过但运行时出错
C、行2出错,不能成功编译D、不能成功编译,行3出错
9.以下关于Java内存回收的说法哪个是正确的?
(B)
A、程序员必须创建一个线程来释放内存
B、内存回收程序负责释放无用内存
C、内存回收程序允许程序员直接释放内存
D、内存回收程序可以在指定的时间释放内存对象
10.有如下代码段:
1)
2){if(unsafe()){//dosomething…}
3)elseif(safe()){//dotheother…}
4)}
其中,方法unsafe()将抛出IOException,请问可将以下哪项填入第1行?
(D)
A、publicIOExceptionmethodName()
B、publicvoidmethodName()
C、publicvoidmethodName()throwIOException
D、publicvoidmethodName()throwsIOException
11.设intx=1,floaty=2,则表达式x/y的值是:
(D)
A.0B.1C.2D.以上都不是
12.以下语句有语法错的是:
(A)
A.intx=1;y=2;z=3
B.for(intx=10,y=0;x>0;x++);
C.while(x>5);
D.fo
r(;;);
13.类Test1、Test2定义如下:
1.publicclassTest1
2.{publicfloataMethod(floata,floatb)throws
3.IOException{}
4.}
5.publicclassTest2extendsTest1{
6.
7.}
将以下哪种方法插入行6是不合法的。
(A)
A、floataMethod(floata,floatb){}
B、publicintaMethod(inta,intb)throwsException{}
C、publicfloataMethod(floatp,floatq){}
D、publicintaMethod(inta,intb)throwsIOException{}
14.以下有关类定义的说法不正确的是:
(A)
A、一个类可以有成员,也可以没有成员
B、类的成员至少有一个属性和一个方法
C、类的静态属性同全局变量的概念完全一样,只是表达形式不同
D、类的方法在实例化时不占用内存
15.以下有关构造函数的说法,正确的是:
(A)
A、一个类的构造函数可以有多个
B、构造函数在类定义时被调用
C、构造函数只能由对象中的其它方法调用。
D、构造函数可以和类同名,也可以和类名不同
1、Java源文件和编译后的文件扩展名分别为(B)
A、.class和.javaB、.java和.class
C、.class和.classD、.java和.java
2、Java语言不是(C)
A、高级语言B、编译型语言
C、结构化设计语言D、面向对象设计语言
3、Java语言中创建一个对象使用的关键字为(C)
A、classB、interfaceC、newD、create
4、对于可以独立运行的Java应用程序,下列(D)说法是正确的。
A、无须main方法B、必须有两个main方法
C、可以有多个或零个main方法D、必须有一个main方法
5、this和super的使用中,正确的是:
(D)
A、都是指同一内存地址
B、可以在同一个方法定义中出现
C、意义相同
D、以上都不对
6、设x=5则y=x--和y=--x的结果,使y分别为(C)
A、5,5B、5,6C、5,4D、4,4
7、下面哪种不是Java的数据类型(D)
A、基本类型B、数组类型C、类D、界面类型
9、用abstract定义的类(D)
A、可以被实例化B、不能派生子类
C、不能被继承D、只能被继承
10、设有对象x具有属性a则访问该属性的方法为(C)
A、a.xB、a.x()C、x.aD、x.a()
11、设数组Array由以下语句定义
intage[]=newint[10];
则数组的第一个元素的正确引用方法为(D)
A、age[1]B、Age[0]C、age[]D、age[0]
12、continue语句(C)
A、只中断最内层的循环B、只中断最外层的循环
C、只中断所在层循环中的当次循环D、只中断某一层的循环
13、以public修饰的类如:
publicclassCar{…}则Car(A)
A、可被其它程序包中的类使用B、仅能被本程序包中的
类使用
C、不能被任意其它类使用D、不能被其它类继承
14、以下有关类的继承的说明中,正确的是:
(D)
A、子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性
B、子类只能继承父类的方法,不能继承父类的属性
C、子类只能继承父类的非私有属性,不能继承父类的方法
D、子类不能继承父类的私有属性
15、以下有关类的构造函数继承的说明,正确的是:
(C)
A、子类继承父类的构造函数,但不能自己定义
B、子类可定义自己的构造函数,但受父类定义的构造函数的限制
C、子类和父类均可独自定义自己的构造函数,但执行时的顺序有规定
D、如父类定义了构造函数,则子类只能继承父类的构造函数,不能自己定义
9.给出下面代码,关于该程序以下哪个说法是正确的?
(C)
publicclassPerson{
staticintarr[]=newint[5];
publicstaticvoidmain(Stringa[]){
System.out.println(arr[0]);
}
}
A、编译时将产生错误B、编译时正确,运行时将产生错误
C、输出零D、输出空
1、Java语言具有许多优点和特点,下列选项中哪个反映了Java程序并行机制的特点?
(B)
A.安全性 B.多线性 C.跨平台 D.可移植
2、下述概念中不属于面向对象方法的是(D)。
A.对象、消息B.继承、多态C.类、封装D.过程调用
3、在Java程序设计中,程序员创建(B)文件,然后编译器把它们转化为()文件。
A.源,HTMLB.源,字节代码
C.字节代码,源D.HTML,字节代码
4、下面哪项在java中是不合法的标识符?
(C)
A.$userB.pointC.You&meD._endline
5、下列关于for循环和while循环的说法中哪个是正确的?
(B)
A.while循环能实现的操作,for循环也都能实现
B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果
C.两种循环任何时候都可替换
D.两种循环结构中都必须有循环体,循环体不能为空
6、下面哪些java语句会导致无限循环?
(B)
I、while(true)i=0;
II、while(false)i=1;
III、while(!
false)i=0;
A、IIIonlyB、IandIIIonlyC、IonlyD、I,IIandIII
7、若有定义inta=9,b=6;a>b的值是(D)。
A、0B、1C、falseD、true
8、设x和y均为int型变量,则以下语句:
x+=y;y=x-y;x-=y;的功能是(D)。
A、把x和y按从大到小排列B、把x和y按从小到大排列
C、无确定结果D、交换x和y中的值
10、关于被私有访问控制符private修饰的成员变量,以下说法正确的是(C)
A、可以被三种类所引用
:
该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B、可以被两种类访问和引用:
该类本身、该类的所有子类
C、只能被该类自身所访问和修改
D、只能被同一个包中的类访问
11、使用以下哪个保留字可以使只有在定义该类的包中的其他类才能访问该类?
(C)
A、abstractB、privateC、protectedD、不使用保留字
12、下面关于类的说法错误的是(B)。
A、类是Java语言中的一种复合数据类型。
B、Java语言的类支持单继承和多继承。
C、类是对所有具有一定共性的对象的抽象。
D、类中包含数据变量和方法。
13、下列哪个类是由编译器自动生成对象的特殊类,是用于类操作?
(A)
A、Class类B、Thread类C、System类D、Object类
14、下列关于变量的叙述哪个是错的?
(C)
A、实例变量是类的成员变量。
B、在方法中定义的局部变量在该方法被执行时创建。
C、实例变量用关键字static声明。
D、局部变量在使用前必须被初始化。
15、在Java语言中,下列哪个包是编译器自动导入的?
(B)
A、java.appletB、java.langC、java.ioD、java.awt
?
16、异常包含下列哪一个内容?
(C)
A、程序中的语法错误B、程序的编译错误
C、程序执行过程中遇到的事先没有预料到的情况
D、程序事先定义好的可能出现的意外情况
17、关于类继承的说法,正确的是(B)。
A、Java类允许多重继承B、Java接口允许多继承
C、接口和类都允许多继承D、接口和类都不允许多继承
18、已知A类被打包在packageA,B类被打包在packageB,且B类被声明为public,且有一个成员变量x被声明为protected控制方式。
C类也位于packageA包,且继承了B类。
则以下说法正确的是(C)。
A、A类的实例不能访问到B类的实例
B、A类的实例能够访问到B类一个实例的x成员
C、C类的实例可以访问到B类一个实例的x成员
D、C类的实例不能访问到B类的实例
19、下列哪个布局管理器中的按钮位置有可能会根据Frame的大小改变而改变?
(D)
A、BorderLayoutB、CardLayout
C、GridLayoutD、FlowLayout
20、下面关于事件监听的说明,哪一个语句是正确的?
(D )
A、所有组件,都不允许附加多个监听器
B、如果多个监听器加在一个组件上,那么事件只会触发一个监听器
C、组件不允许附加多个监听器
D、监听器机制允许按照我们的需要,任意调用addXxxxListener方法多次,而且没有次序区别
21、下列哪个选项是创建一个标识有"打开"按钮的语句?
(D)
A、TextFieldb=newTextField("打开");
B、TextAreab=newTextArea("打开");
C、Checkboxb=newCheckbox(
"打开");
D、Buttonb=newButton("打开");
22、下列Java常见事件类中哪个是鼠标事件类?
( C )
A、InputEventB、KeyEventC、MouseEventD、WindowEvent
23、下列哪个不属于容器的构件?
(B)
A、JFrameB、JButtonC、JPanelD、JApplet
24、Character流与Byte流的区别是(C)。
A、每次读入的字节数不同 B、前者带有缓冲,后者没有
C、前者是块读写,后者是字节读写 D、二者没有区别,可以互换使用
25、以下哪个关键字可以用来对对象加互斥锁?
(C)
A、transientB、serializeC、synchronizedD、static
26、线程的生命周期是随着( A )方法开始
A、Start B、begin C、run D、up
1、下列关于Java语言的特点,描述错误的是(C)
A、Java是跨平台的编程语言B、Java支持分布式计算
C、Java是面向过程的编程语言D、Java支持多线程
2、下列选项中哪一个是表达式1+2+"aa"+3的值(B)?
A、"12aa3"B、"3aa3"C、"12aa"D、"aa3"
3、Java虚拟机指的是(B)。
A、由Java操作的家用设备(通常是一个漂亮的小烤箱)
B、Java字节代码的解释程序
C、Java源代码的编译器
D、运行Java所需的硬件设备
4、下列哪一项不是Java保留字?
(A)
A、sizeofB、superC、abstractD、break
5、关于switch结构的说法哪些是正确的?
请选出1个正确答案。
(C)
A、所有switch说明都必须有一个默认标签。
B、在一个switch说明中,每个代码片断都必须正好有一个标签。
C、关键词continue永远不会在一个switch说明中出现。
D、在一个单一switch说明里,没有case标签可以跟随一个默认标签。
6、若有定义inta=1,b=2;表达式(a++)+(++b)的值是(B)。
A、3B、4C、5D、6
7、假定有变量定义:
intk=7,x=12;则能使值为3的表达式是( D )。
A、x%=(k%=5)B、x%=(k-k%5)
C、x%=k-k%5D、(x%=k)-(k%=5)
8、仔细分析下面程序,while的循环次数是(D)。
{inti=0;
while(i<10)
{if(i<1)continue;
if(i==5)break;
i++;
}}
A、1B、10C、6D、死循环,不能确定次数
9、下列关于构造方法的叙述中,错误的是(C)
A、Java语言规定构造方法名与类名必须相同
B、Java语言规定构造方法没有返回值,但不用void声明
C、Java语言规定构造方法不可以重载
D、Java语言规定构造方法只能通过new自动调用
10、下列哪个类的声明是正确的?
(D)
A、abstractfinalclassHI{}B、abstractprivatemove(){}
C、protectedprivatenumber;D、publicabstractclassCar{}
12、下面哪个关键字不是用来控制对类成员
的访问的?
( C )
A、publicB、protectedC、defaultD、private
13、下列哪一项说法最好地描述了Java中的对象?
(C)
A、对象是通过import命令引入到程序中的所有事情
B、对象是方法的集合,这些方法在小程序窗口或应用程序窗口中产生图形元素,或者计算和返回值
C、对象是一种数据结构,它具有操作数据的方法
D、对象是一组具有共同的结构和行为的类
14、在Java语言中,不允许作为类及类成员的访问限制修饰符的是(C)。
A、publicB、privateC、staticD、protected
15、以下关于abstract的说法,正确的是(D)。
A、abstract只能修饰类B、abstract只能修饰方法
C、abstract类中必须有abstract方法
D、abstarct方法所在的类必须用abstract修饰
16、下列哪个类声明是正确的?
(D)
A、abstractfinalclassHI{}B、abstractprivatemove(){}
C、protectedprivatenumber;D、publicabstractclassCar{}
17、下列哪个命题为真?
(C)
A、所有类都必须定义一个构造函数。
B、构造函数必须有返回值。
C、构造函数可以访问类的非静态成员。
D、构造函数必须初始化类的所有数据成员。
18、下列哪种说法是正确的?
(A)
A、私有方法不能被子类覆盖。
B、子类可以覆盖超类中的任何方法。
C、覆盖方法可以声明自己抛出的异常多于那个被覆盖的方法。
D、覆盖方法中的参数清单必须是被覆盖方法参数清单的子集。
D、static
26、以下哪个方法用于定义线程的执行体?
(C)
A、start()B、init()C、run()D、synchronized()
1、用于将java源代码文件编译成字节码的编译器是( A)。
A、javac B、java C、jdb D、javah
2、Java应用程序的入口方法是(D )。
A、start() B、init() C、paint() D、main()
3、设Strings="story";下列选项中的语句书写正确的是(A )。
A、s+="books"; B、charc=s[1];
C、intlen=s.length; D、s=s-"books";
4、下列数组初始化形式正确的是(A )。
A、intt1[][]={{1,2},{3,4},{5,6}};
B、intt2[][]={1,2,3,4,5,6};
C、intt3[3][2]={1,2,3,4,5,6};
D、intt4[][];t4={1,2,3,4,5,6};
5、下列代码段执行后的输出结果是(B )。
intx=3; inty=10;
System.out.println(y%x);
A、0 B、1 C、2 D、3
6、下列有关整型的最终属性i的定义正确的是(A )。
A、staticfinalinti=100;
B、finali;
C、staticinti;
D、finalfloati=1.2f;
7、下面语句操作的输出结果是( D)。
System.out.println(4|3);
A、6 B、0 C、1 D、7
8、下列语句序列执行后,x的值
是(B )。
inta=3,b=4,x=5; if(++a==b)x=++a*x;
A、35 B、25 C、20 D、5
9、为了使包sos在当前程序中可见,可以使用的语句是(A )。
A、importsos.*; B、packagesos.*;
C、sosimport; D、sospackage;
10、在Java中,所有类的根类是(A )。
A、java.lang.Object B、java.lang.Class
C、java.applet.Applet D、java.awt.Frame
11、设x,y均为已定义的类名,下列声明对象x1的语句中正确的是(C )。
A、publicxx1=newy();B、xx1=x();
C、xx1=newx(); D、intxx1;
12、当类的成员未用访问权限修饰符时,Java认为此成员的访问权限为(C )。
A、private B、protected C、friendly D、public
13、下面不属于Java关键字的是(A )。
A、sealed B、private C、new D、transient
14、为了区分重载多态中同名的不同方法,要求( A)。
A、采用不同的参数列表 B、返回值类型不同
C、调用时用类名或对象名做前缀 D、参数名不同
15、在Java中,用package语句说明一个包时,该包的层次结构必须(B )。
A、与文件的结构相同 B、与文件目录的层次相同
C、