java期末考试复习题及答案.docx
《java期末考试复习题及答案.docx》由会员分享,可在线阅读,更多相关《java期末考试复习题及答案.docx(30页珍藏版)》请在冰豆网上搜索。
java期末考试复习题及答案
《Java程序设计》课程试卷
1.使用Java语言编写的源程序保存时的文件扩展名是(B)。
(A).class(B).java(C).cpp(D).txt
2.设inta=-2,则表达式a>>>3的值为(C)。
(A)0(B)3(C)8(D)-1
3.设有数组的定义int[]a=newint[3],则下面对数组元素的引用错误的是(C)。
(A)a[0];(B)a[a.length-1];(C)a[3];(D)inti=1;a[i];
4.在类的定义中可以有两个同名函数,这种现象称为函数(D)。
(A)封装(B)继承(C)覆盖(D)重载
5.在类的定义中构造函数的作用是(D)。
(A)保护成员变量(B)读取类的成员变量(C)描述类的特征(D)初始化成员变量
6.下面关键字中,哪一个不是用于异常处理语句(B)。
(A)try(B)break(C)catch(D)finally
7.类与对象的关系是(A)。
(A)类是对象的抽象(B)对象是类的抽象(C)对象是类的子类(D)类是对象的具体实例
8.下面哪一个是Java中不合法的标识符(D)。
(A)$persons(B)twoNum(C)_myVar(D)*point
9.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方
法头的形式为(A)。
(A)staticvoidmethod()(B)publicvoidmethod()
(C)finalvoidmethod()(D)abstractvoidmethod()
10.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的(C)。
(A)ArrayListmyList=newObject()(B)ListmyList=newArrayList()
(C)ArrayListmyList=newList()(D)ListmyList=newList()
11.Java源文件和编译后的文件扩展名分别为(B)
(A).class和.java(B).java和.class
(C).class和.class(D).java和.java
12.在JavaApplet程序用户自定义的Applet子类中,一般需要重载父类的(D)方法来完成一些画图操作。
(A)start()(B)stop()(C)init()(D)paint()
13.对于一个Java源文件,import,class定义以及package正确的顺序是:
(A)
(A)package,import,class(B)class,import,package(C)import,package,class(D)
package,class,import
14.下面哪个是非法的:
(D)
(A)intI=32;
(B)floatf=45.0;
(C)doubled=45.0;
(D)
charc=
‘u’
;
//符号错
15.Java语言使用的字符码集是(D)
(A)ASCII(B)BCD(C)DCB(D)Unicode
16.如果一个类的成员变量只能在所在类中使用,则该成员变量必须使用的修饰是(C)
(A)public(B)protected(C)private(D)static
17.下面关于main方法说明正确的是(B)
(A)publicmain(Stringargs[])(B)publicstaticvoidmain(Stringargs[])
(C)privatestaticvoidmain(Stringargs[])(D)voidmain()
18.哪个关键字可以对对象加互斥锁?
(B)
(A)transient(B)synchronized(C)serialize(D)static
19.关于抽象方法的说法正确的是(D)
(A)可以有方法体(B)可以出现在非抽象类中
(C)是没有方法体的方法(D)抽象类中的方法都是抽象方法
20.java.io包的File类是(B)
(A)字符流类(B)字节流类(C)对象流类(D)非流类
21.Javaapplication中的主类需包含
A、StringargsB、Stringargs[]
22.以下代码段执行后的输出结果为(
intx=-3;inty=-10;
main方法,以下哪项是
C、Chararg
A)
main方法的正确形参?
(
D、StringBufferargs[]
B)
System.out.println(y%x);
A、-1B、2C、1D、3
23.以下关于继承的叙述正确的是(
)。
A、在Java中类只允许单一继承
B、在Java中一个类只能实现一个接口
C、在Java中一个类不能同时继承一个类和实现一个接口
D、在Java中接口只允许单一继承
24.若有定义:
byte[]x={11,22,33,-66};
其中0≤k≤3,则对x数组元素错误的引用是(
A)x[5-3]B)x[k]C)x[k+5]
25.paint()方法使用哪种类型的参数?
(D
A、GraphicsB、Graphics2DC、String
26.以下哪个不是Java的原始数据类型(B
A、intB、BooleanC、floatD、char
C)
D)x[0]
)
D、Color
)
27.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的
值也可以不相同。
这种面向对象程序特性称为(C)
A)隐藏B)重写C)重载D)Java不支持此特性
28.以下有关构造方法的说法,正确的是:
(A)
A.一个类的构造方法可以有多个B.构造方法在类定义时被调用
C.构造方法只能由对象中的其它方法调用。
D.构造方法可以和类同名,也可以和类名不同
29.在浏览器中执行applet程序,以下选项中的哪个方法将被最先执行(B)。
A、init()B、start()C、destroy()D、stop()
31、有以下方法的定义,请选择该方法的返回类型(D)。
ReturnTypemethod(bytex,doubley)
{
return(short)x/y*2;
}
A、byteB、short
C、int
D、double
32.下列类定义中哪些是合法的抽象类的定义?
(
C)
A、abstractAnimal{abstractvoidgrowl();}
B、classabstractAnimal{abstractvoidgrowl();}
C、abstractclassAnimal{abstractvoidgrowl();}
D、abstractclassAnimal{abstractvoidgrowl(){System.out.println(
“growl”);};}
33.有以下程序片段,下列哪个选项不能插入到行
1。
(D
)
1.
2.publicclassInteresting{
3.//dosth
4.}
A、importjava.awt.*;
B、packagemypackage;
C、classOtherClass{
}
D、publicclassMyClass{}
34.设有下面两个赋值语句:
a=Integer.parseInt(
“12”);
b=Integer.valueOf(
“12”).intValue();
下述说法正确的是(A
)。
A、a是整数类型变量,
b是整数类对象。
B、a是整数类对象,b是整数类型变量。
C、a和b都是整数类对象并且值相等。
D、a和b都是整数类型变量并且值相等。
35.在编写JavaApplet
程序时,需在程序的开头写上
(B)
语句。
A、import
java.awt.*;
B、import
java.applet.Applet;
C、import
java.io.*;
D
、import
java.awt.Graphics;
36.下列哪一项不属于
Swing的顶层容器?
(
B)
A)JApplet
B)JTree
C)JDialog
D)JFrame
37.为了使包ch4在当前程序中可见,可以使用的语句是(
A
)。
A)importch4.*;
B
)packagech4.*;
C
)ch4import;
D
)ch4package;
38.请问所有的异常类皆继承哪一个类?
(
B
)。
A)java.io.Exception
B)java.lang.Throwable
C)java.lang.ExceptionD
)java.lang.Error
39.进行Java基本的GUI设计需要用到的包是(
C
)。
A)java.io
B
)java.sql
C)java.awt
D)java.rmi
40.当点击鼠标或者拖动鼠标时,触发的事件是下列的哪一个?
(
D)
A)KeyEventB)ActionEvent
C
)ItemEvent
D)MouseEvent
一、选择题(2’*15=30’)
1、如下哪个是
Java中的标识符(
A)
A、fieldname
B
、super
C、3number
D、#number
2、设x=1,y=2,z=3
,则表达式
y
+=z--/++x
的值是(
A)
。
A.3
B.3.5
C.4
D.5
3、下面的代码段执行之后
count
的值是什么(
D)
intcount=1;
for(inti=1;i<=5;i++){
count+=i;
}
System.out.println(count);
A、5
B、1
C、15
D、16
4、为AB类的一个无形式参数无返回值的方法
method书写方法头,使得使用类名
AB作为前缀就可以调用它,该方
法头的形式为(
A
)
。
A.staticvoidmethod()
B.publicvoidmethod()
C.finalvoidmethod()
D.
abstractvoidmethod()
5、下列程序段执行后的结果是(A)。
Strings=newString("abcdefg");
for(inti=0;iSystem.out.print(s.charAt(i));
}
A)aceg
B)ACEG
C)abcdefg
D)abcd
6、下面程序段执行后b的值是(B)
。
Integerinteg=newInteger(9)
;
booleanb=integ
instanceof
Object;
A)9B)true
C)1D)false
7.关于for循环和while
循环的说法哪个正确?
(
B)
A.while
循环先判断后执行,
for
循环先执行后判断。
B.while
循环判断条件一般是程序结果,
for
循环的判断条件一般是非程序结果
C.两种循环任何时候都不可以替换
D.两种循环结构中都必须有循环体,循环体不能为空
8.关于对象成员占用内存的说法哪个正确?
(
B
)
A.同一个类的对象共用同一段内存
B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间
C.对象的方法不占用内存
D
.以上都不对
9.关于继承的说法正确的是:
(
B
)
A、子类将继承父类所有的属性和方法。
B、子类将继承父类的非私有属性和方法。
C、子类只继承父类
public
方法和属性
D
、子类只继承父类的方法,而不继承属性
10.覆盖与重载的关系是
(
A
)
A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中
B.覆盖方法可以不同名,而重载方法必须同名
C.final
修饰的方法可以被覆盖,但不能被重载
D
.覆盖与重载是同一回事
11、下面哪一个import
命令可以为我们提供编写网络应用程序的类(
D
)
A、importjava.sql.*;
B、importjava.util.*;
C
、importjava.io.*;
D、import.*;
12、如果容器组件
p的布局是
BorderLayout
,则在p的下边中添加一个按钮
b,应该使用的语句是(
C
)
A、p.add(b);
B、p.add(b,"North");
C、p.add(b,"South");
D
、
b.add(p,"North");
13、Frame对象默认的布局管理器是(
B
)
A、FlowLayout
B、BorderLayoutC
、CardLayout
D、null
14、如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象(
A)
A、FileInputStream
B、FileOutputStream
C
、DataOutputStream
D、FileWriter
1.关于选择结构下列哪个说法正确?
(
B
)
A.if语句和else
语句必须成对出现
B
.if
语句可以没有else
语句对应
C.switch结构中每个case语句中必须用
break
语句D.switch
结构中必须有
default语句
2.while
循环和do⋯while
循环的区别是:
(
D
)
A.没有区别,这两个结构任何情况下效果一样
B.while
循环比
do⋯while
循环执行效率高
C.while
循环是先循环后判断,所以循环体至少被执行一次
D.do⋯while循环是先循环后判断,所以循环体至少被执行一次
3.关于for循环和while
循环的说法哪个正确?
(
B
)
A.while
循环先判断后执行,for
循环先执行后判断。
B.while
循环判断条件一般是程序结果,
for
循环的判断条件一般是非程序结果
C.两种循环任何时候都不可以替换
D.两种循环结构中都必须有循环体,循环体不能为空
4.下列修饰符中与访问控制无关的是
(
D
)
A.private
B.Public
C
.protected
D.final
5.void
的含义:
(
A
)
A.方法没有返回值
B.方法体为空
C
.没有意义
D.定义方法时必须使用
6.return
语句:
(
C
)
A.只能让方法返回数值
B.方法都必须含有
C
.方法中可以有多句
return
D.不能用来返回对象
7.关于对象成员占用内存的说法哪个正确?
(
B
)
A.同一个类的对象共用同一段内存
B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间
C.对象的方法不占用内存
D
.以上都不对
8.下列说法哪个正确?
(C)
A.不需要定义类,就能创建对象
B.对象中必须有属性和方法
C.属性可以是简单变量,也可以是一个对象
D、属性必须是简单变量
9.下列说法哪个正确?
(
A)
A、一个程序可以包含多个源文件
B、一个源文件中只能有一个类
C、一个源文件中可以有多个公共类
D、一个源文件只能供一个程序使用
10.关于方法main()的说法哪个正确?
(
C
)
A.方法main()只能放在公共类中
Bmain()
的头定义可以根据情况任意更改
C.一个类中可以没有
main()方法
D
.所有对象的创建都必须放在
main()方法中
11.构造函数何时被调用?
(
A
)
A、创建对象时
B、类定义时
C、使用对象的方法时
D、使用对象的属性时
12.
抽象方法:
(C
)
A、可以有方法体
B
、可以出现在非抽象类中
C、是没有方法体的方法
D、抽象类中的方法都是抽象方法
13.关于继承的说法正确的是:
(B
)
A、子类将继承父类所有的属性和方法。
B、子类将继承父类的非私有属性和方法。
C、子类只继承父类
public
方法和属性
D、子类只继承父类的方法,而不继承属性
14.关于构造函数的说法哪个正确?
(
C
)
A、一个类只能有一个构造函数
B
、一个类可以有多个不同名的构造函数
C、构造函数与类同名
D、构造函数必须自己定义,不能使用父类的构造函数
15.this
和super:
(C)
A、都可以用在
main()方法中
B、都是指一个内存地址
C、不能用在main()方法中D、意义相同
16.关于super
的说法正确的是:
(B)
A、是指当前对象的内存地址
B、是指当前对象的父类对象的内存地址
C、是指当前对象的父类
D、可以用在main()方法中
17.覆盖与重载的关系是
(
A)
A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中
B.覆盖方法可以不同名,而重载方法必须同
名
C