JAVA程序设计习题2.docx
《JAVA程序设计习题2.docx》由会员分享,可在线阅读,更多相关《JAVA程序设计习题2.docx(14页珍藏版)》请在冰豆网上搜索。
JAVA程序设计习题2
JAVA程序设计习题2
二、多选题
1.Java开发包括三部分,以下选项中包括哪个:
(多选)
A.J2EE
B.J2ME
C.J2SE
D.J2E
答案:
ABC
2.以下描述中哪些不是Java关键字。
(多选)
A.TRUE
B.sizeof
C.const
D.super
E.void
答案:
AB
3.在JavaAPI文档中下面的哪些部分被包括在内?
(多选)
A.类及用途的描述
B.父类的方法的列表
C.成员变量的列表
D.类层次
答案:
ACD
4.下面有关Java代码安全性的叙述哪些是正确的。
(多选)
A.字节码校验器加载查询执行需要的所有类。
B.运行时解释器执行代码。
C.在运行时,字节码被加载,验证然后在解释器里面运行。
D.类加载器通过分离本机文件系统的类和从网络导入的类增加安全性。
答案:
BCD
5.以下哪些是字节码校验器进行校验的内容?
(多选)
A.类是否符合JVM规范的类文件格式
B.有没有违反访问限制
C.字节码文件传输的地址是否正确
D.所有操作代码的参数类型是否正确
E.有没有非法的数据类型转换
F.代码有没有造成堆栈的上溢或者下溢
答案:
ABDEF
6.读程序,以下哪些描述是正确的?
(多选)
finalclassTest{
privateinta=1;
intb=2;
}
classSecondextendsTest{
publicvoidmethod(){
;
}
}
A.Second类不能继承Test类。
B.method()方法没有形参,因此不能传进a和b的值。
C.Test类不是public的类,不能生成子类
D.Test类中的a是private的,在Second类的method()方法中不能被调用。
答案:
AD
7.读程序,以下可以在main()方法中添加的语句是哪些?
(多选)
classTest{
privatefloatf=1.0f;
intm=12;
staticintn=1;
publicstaticvoidmain(Stringargs[]){
Testt=newTest();
//...
}
}
A.t.f
B.this.n
C.Test.m
D.Test.n
答案:
AD
8.以下哪些是Java的修饰符?
(多选)
A.static
B.final
C.protected
D.const
答案:
ABC
9.以下哪些声明语句是正确的?
(多选)
A.publicMyClass{//…}
B.publicprotectedintmyVar
C.friendlyButtonmyButton
D.LabelmyLabel
答案:
AD
10.在“//pointx”处添加以下哪些声明语句是正确的?
(多选)
classPerson{
privateinta;
publicintchange(intm){returnm;}
}
publicclassTeacherextendsPerson{
publicintb;
publicstaticvoidmain(Stringarg[]){
Personp=newPerson();
Teachert=newTeacher();
inti;
//pointx
}
}
A.i=m;
B.i=b;
C.i=t.b;
D.i=p.change(30);
答案:
CD
11.执行以下程序,哪些方法可以加入类Child中?
(多选)
publicclassParent{
publicintaddValue(inta,intb){
ints;
s=a+b;
returns;
}
}
classChildextendsParent{
}
A.intaddValue(inta,intb){//dosomething...}
B.publicvoidaddValue(){//dosomething...}
C.publicintaddValue(inta){//dosomething...}
D.publicintaddValue(inta,intb)throwsMyException{//dosomething...}
答案:
BC
12.执行以下程序,在oneMethod()方法运行正常的情况下将显示什么?
(多选)
publicvoidtest(){
try{
oneMethod();
"condition1");
}catch(ArrayIndexOutOfBoundsExceptione){
"condition2");
}catch(Exceptione){
"condition3");
}finally{
"finally");
}
}
A.condition1
B.condition2
C.condition3
D.finally
答案:
AD
13.给出下面的代码片断:
1)switch(m)
2){case0:
"case0");
3) case1:
"case1");break;
4) case2:
5) default:
"default");
6)}
m为何值时输出值将会为“default”。
A.0
B.1
C.2
D.3
答案:
CD
14.读程序,下面的哪些声明可以被加入第一行完成方法的声明。
其中TimedOutException不是一个RuntimeException。
1)//添加声明语句
2){success=connect();
3)if(success==-1){
4) thrownewTimedOutException();
5)}
6)}
A.publicvoidmethod()
B.publicvoidmethod()throwsException
C.publicvoidmethod()throwsTimedOutException
D.publicvoidmethod()throwTimedOutException
答案:
BC
15.变量"result"是一个boolean型的值,下面的哪些表达式是合法的。
(多选)
A.result=true;
B.if(result){//dosomething...}
C.if(result!
=0){//sosomething...}
D.result=1
答案:
AB
16.以下哪些程序段是错误的?
(多选)
A.Strings="Gonewiththewind";
Stringt="good";
Stringk=s+t;
B.Strings="Gonewiththewind";
Stringt;
t=s[3]+"one";
C.Strings="Gonewiththewind";
Stringstandard=s.toUpperCase();
D.Strings="homedirectory";
Stringt=s-"directory";
答案:
BD
17.以下哪些描述是正确的?
(多选)
1)publicvoidcreate(){
2)VectormyVect;
3)myVect=newVector();
4)}
A.第二行的声明不会为变量myVect分配内存空间。
B.第二行语句创建一个Vector类对象。
C.第三行语句创建一个Vector类对象。
D.第三行语句为一个Vector类对象分配内存空间。
答案ACD
18.下面关于继承的哪些叙述是正确的。
(多选)
A.在Java中只允许单一继承,代码更可靠。
B.在Java中一个类只能实现一个接口。
C.在Java中一个类不能同时继承一个类和实现一个接口。
D.在Java中一个类仅能继承一个类,但可以同时实现多个接口。
答案:
AD
19.下面关于变量及其范围的描述哪些是正确的。
(多选)
A.实例变量是类的成员变量。
B.实例变量用关键字static声明。
C.在方法中定义的局部变量在该方法被执行时创建。
D.局部变量在使用前必须被初始化。
答案:
ACD
20.下面有关变量及其作用域的陈述哪些是正确的。
(多选)
A.在方法里面定义的局部变量在方法退出的时候被撤销。
B.局部变量也叫自动变量。
C.在方法外面定义的变量(即实例变量)在对象被构造时创建。
D.在方法中定义的参变量也是方法的局部变量。
答案:
ABCD
21.符合方法重载的规则是哪些?
(多选)
A.参数列表必须不同
B.参数列表中个数不同,或个数相同但参数类型的不同
C.方法返回值可以不同
D.访问控制修饰符必须相同
答案:
ABC
22.符合方法重写规则的是哪些?
(多选)
A.重写的方法不能比被重写的方法抛弃更多种类的异常。
B.子类可以重写一个父类中已有的非final的方法。
C.重写的方法与被重写的方法返回值类型必须一致。
D.重写的方法与被重写的方法参数列表必须相同。
答案:
ABCD
23.以下哪些是“publicvoidexample(){…}”的重载的方法?
A.publicvoidexample(intm){…}
B.publicintexample(){…}
C.publicvoidexample2(){…}
D.publicintexample(intm,doubled){…}
答案:
AD
24.读程序,判断以下哪些方法可以被添加到Hello类中?
publicclassExample{
publicExample(){
//...
}
protectedExample(inti){
//...
}
protectedvoidmethod(){
//...
}
}
publicclassHelloextendsExample{
//定义成员变量和成员方法
}
A.publicvoidExample(){…}
B.publicvoidmethod(){…}
C.protectedvoidmethod(){…}
D.privatevoidmethod(){…}
答案:
ABC
25.类的定义的源文件名为“Fred.java”,以下类定义正确的是哪些?
(多选)
A.
publicclassFred{
publicintx=0;
publicFred(intx){
this.x=x;
}
}
B.
publicclassfred{
publicintx=0;
publicFred(intx){
this.x=x;
}
}
C.
publicclassFredextendsMyBaseClass,MyOtherBaseClass{
publicintx=0;
publicFred(intxval){
x=xval;
}
}
D.
importjava.awt.*;
publicclassFredextendsObject{
intx;
privateFred(intxval){
x=xval;
}
}
答案:
AD
26.以下哪些修饰符可以用于修饰内部类MyInner?
publicclassMyClass{
publicstaticvoidmain(Stringargs[]){
classMyInner{}
}
}
A.public
B.static
C.friend
D.private
答案:
ABD
27.以下哪些方法可以定义一个新的线程?
A.在当前类中添加一个run()方法。
B.实现Runnable接口。
C.创建一个Thread类的实例。
D.继承Thread类。
答案:
BD
28.当前线程在以下哪几种情况下会被停止?
A.一个异常被抛出。
B.线程执行了sleep()方法。
C.有一个高优先级的线程到来。
D.线程在InputStream中执行read()方法。
答案:
ABCD
29.给出下面有关List的表达式:
Listl=newList(6,true);
哪些叙述是对的。
A. 在没有其它的约束的条件下该列表将有6行可见。
B. 一行的最大字符数是6
C. 列表将允许用户多选。
D. 列表只能有一项被选中。
答案:
AC
30.以下哪些事件监听器接口有相应的适配器类与之对应?
A. MouseListener
B. ActionListener
C. KeyListener
D. WindowListener
答案:
ACD
31.以下哪些布局管理器其中组件大小必须随容器大小变化?
A.BorderLayout
B.FlowLayout
C.CardLayout
D.GridLayout
答案:
AD
32.哪些类可以作为FileInputStream类的构造方法的参数?
(多选)
A.File
B.String
C.FileOutputStream
D.InputStream
答案:
AB
三、判断题
1.重写的方法的访问权限不能比被重写的方法的访问权限高。
答案:
X
2.重写的方法不能比被重写的方法抛弃(throws)更多种类的异常。
答案:
√
3.方法重写发生在类继承时,子类可以重写一个父类中已有的方法,必须在返回类型和参数列表一样时才能说是重写,否则就是重载。
答案:
√
4.调用System.gc()方法不能保证JVM立即进行垃圾收集,而只能是建议。
(判断)
答案:
√
5.垃圾收集的过程在Java程序的生存期中是自动的,不需要分配和释放内存,也避免了内存泄漏。
(判断)
答案:
√
6.在同一个类的不同构造方法中调用该类的其它构造方法需要使用this(…)的形式,this(…)不能在构造方法的第一行调用。
(判断)
答案:
X
7.局部变量在定义该变量的方法被调用时被创建,而在该方法退出后被撤销,其生存期和定义该变量的方法的生存期相同。
答案:
√
8.实例变量在使用newXxxx()创建该类的实例时被创建,而其生存期和该类的实例对象的生存期相同。
答案:
√
9.类变量在该类被加载时被创建,不能用newXxxx()创建,所有该类的实例对象共享类变量,其生存期是类的生存期。
10.任何变量在使用前都必须显式初始化。
答案:
X
11.子类可以重写一个父类的构造方法。
答案:
X
12.在一个抽象类中不能定义构造方法。
答案:
X
13.当一个类没有显式定义构造方法时,Java系统总是为其创建一个默认的无参的构造方法。
答案:
√
14.当系统调用当前类的构造方法时,若没有this()语句进行重载调用,也没有super()语句调用父类构造方法,则直接执行构造方法中的其他语句。
答案:
X
15.在构造方法中如调用super()语句,则必须使其成为构造方法中的第一条语句。
答案:
√
16.类加载器加载程序运行所需要的所有类,它通过区分本机文件系统的类和网络系统导入的类增加安全性。
答案:
√
17.类加载器加载程序运行所需要的所有类,由网络系统导入的指定类总是先被加载。
答案:
X
18.在Java中所有事件监听器接口中定义的方法,其访问权限都是public,返回值都是void。
答案:
√
19.一个新线程启动start()方法,表示线程可为JVM的线程调度程序调度而不表示它可以立即运行。
答案:
√
20.线程的调度是分时间片式的,而不是抢先式的。
答案:
X
21.具有比当前运行线程高优先级的线程可以使当前线程停止运行而进入就绪状态,不同优先级的线程间是抢先式的,而同级线程间是轮转式的。
答案:
√
22.调用sleep()方法可以使一个线程停止运行。
答案:
√
23.friendly关键字是Java语言的访问控制修饰符。
(判断)
答案:
X
24.在Java语言中属性前不加任何访问控制修饰符则表示只允许同一包中的类访问。
(判断)
答案:
√
25.private修饰的顶层类(非内部类)可以被同一个包中的其他类所访问。
(判断)
答案:
X
26.maxElements是一个成员变量,声明为:
“publicstaticfinalintmaxElements=100;”。
(判断)
答案:
√
27.利用equals()方法判定Date类时,判断的是对象的值而不是对象的地址。
(判断)
答案:
√
28.==操作符判定两个分立的对象的内容和类型是否一致。
(判断)
答案:
X
29.equals()方法只有在两个对象的内容一致时返回true。
(判断)
答案:
X
30.类File重写方法equals()在两个分立的对象的内容和类型一致时返回true。
(判断)
答案:
√