java期末考试选择题题库.docx
《java期末考试选择题题库.docx》由会员分享,可在线阅读,更多相关《java期末考试选择题题库.docx(204页珍藏版)》请在冰豆网上搜索。
java期末考试选择题题库
1.分析以下程序:
1)publicclassx{
2)publicstaticvoidmain(String[]args){
3)Stringol=newString("ABV");
4)Stringo2=newString("ABV");
5)if(o1.equals(o2)){
6)System.out.println("Equal");
7)}
8)}
9)}
该程序的执行结果是(B)。
A.程序执行后无输出B.程序执行后输出“Equal”C.程序在第5行出现编译错误D.程序执行后出现异常
2.执行完下面的程序片段后,下面哪些结论是正确的?
(B)
inta,b,c;
a=1;
b=2;
c=(a+b>3?
a++:
++b);
A.a的值是2,b的值是3B.a的值是1,b的值是3C.a的值是1,b的值是2D.c的值是false
3.下面的数据类型(D)是float型
A.33.8B.129C.89LD.8.6F
4.finally块中的代码将(A)
A.总是被执行B.如果try块后面没有catch块时,finally块中的代码才会执行C.异常发生时才被执行D.异常没有发生时才被执行
5.下列哪个不是面向对象程序设计方法的特点(D)
A.抽象B.继承C.多态D.结构化
6.关于Java语言的内存回收机制,下列选项中最正确的一项是(C)
A.Java程序要求用户必须手工创建一个线程来释放内存B.Java程序允许用户使用指针来释放内存C.内存回收线程负责释放无用内存D.内存回收线程不能释放内存对象
7.下列关于Java语言和C++语言之间差别的描述中,不正确的一项是(A)
A.Java虽然提供了安全机制,但是还是没有C++安全B.Java的内存管理优于C++的内存管理C.Java没有全局变量,但是C++有全局变量D.Java没有指针,但是C++的指针最灵活
8.下列选项中,不属于Java核心包的一项是(A)
A.java.swingB.java.ioC.java.utilD.java.lang
9.为了区分重载多态中同名的不同方法,要求(A)
A.采用不同的形式参数列表B.返回值类型不同C.调用时类名或对象名做前缀D.参数名不同
10.下列数据类型哪一个属于Java简单数据类型(D)
A.接口B.结构类型C.无符号整数类型D.字符类型
11.下列关于int类型的说法中,正确的一个是(C)
A.int类型可以自动转换为所有的简单类型B.int类型只能自动转换为float、long、double类型C.103是合法的int类型常量D.int类型包括有符号整型和无符号整型
12.编译一个定义了两个类和三个方法的的Java源码文件,总共会产生几个字节码文件,这些字节码文件的扩展名是什么?
(D)
A.5个字节码文件,以".java"为扩展名B.2个字节码文件,以".java"为扩展名C.5个字节码文件,以".class"为扩展
名D.2个字节码文件,以".class"为扩展名
13.下面的程序段执行后,变量a,b,c的值分别为( A )
inta,b,c;
a=(int)Math.round(-4.51);
b=(int)Math.ceil(-4.51);
c=(int)Math.floor(-4.51);A.-5,-4,-5B.-4,-4,-5C.-5,-5,-5D.-4,-4,-4
14.关于RandomAccessFile类的说法正确的是(B)
A.RandomAccessFile类继承自File类B.RandomAccessFile类对象可读写Java原始类型数据C.RandomAccessFile类对象只能从文件读Java原始类型数据D.随机读写流的指针所计算的是字符的个数
15.在( B )可以设置线程的优先级
A.当第一次创建线程时B.创建线程后的任何时间C.只有在线程启动后D.以上都不对
16.分析以下程序:
publicclassTest{
publicintaMethod(){
Staticinti=0;
i++;
returni;
}
publicstaticvoidmain(Stringargs[1]){
Testtest=newTest();
test.aMethod();
intj=test.aMethod();
System.out.println(j);
}
该程序执行结果为(A)。
A.编译将失败B.编译成功,执行后输出“0”C.编译成功,执行后输出“1”D.编译成功,执行后输出“2”
17.如果想限制当前类之外对某个成员的访问,应选择如下哪一种修饰符?
()
A.publicB.privateC.protectedD.不需要任何修饰符
18.分析下列程序:
ClassA{
publicintgetNumber(inta){
returna+1;
}
}
classBextendsA{
publicintgetNumber(inta,charc){//第7行
returna+2;
}
publicstaticvoidmain(String[]args){
Bb=newB();
System.out.println(b.getNumber(0));//第14行
}
}
该程序的执行结果是(A)。
A.编译成功并输出"1"B.编译成功并输出"2"C.在第7行出现编译错误D.在第14行出现编译错误
19.分析以下程序:
1.publicclassForBar{
2.publicstauicvoidmain(String[]args){
3.inti=0,j=5;
4.tp=for(;;){
5.i++;
6.for(;;)
7.if(i>--j)breaktp;
8.}
9.System.out.println("i="+i+",j="+j);
10.}
11.}
该程序的执行结果是(A)。
A.该程序运行并输出结果:
i=1,j=0B.该程序运行并输出结果:
i=1,j=4C.该程序运行并输出结果:
i=3,j=4D.该程序运行并输出结果:
i=3,j=0
20.下列语句执行后,k的值是( B )
intx=3,y=5,k=0;
switch(x%y+3)
{
case0:
k=x*y;break;
case6:
k=x/y;break;
case12:
k=x-y;break;
default:
k=x*y-x;break;
}
A.12B.0C.15D.-2
21.下面哪个选项能够构造一个BufferedlnputStream流?
(D)
A.NewBufferedInputStream(”in.txt”):
B.NewBufferedlnputStream(newFile(”in.txt”)):
C.NewBufferedlnputStream(newⅥHter(”in.txt”)):
D.NewBufferedlnputStream(newFilelnputStream(”in.txt”));
22.下面哪种流可以用于字符输出?
(A)A.java.io.OutputStreamB.java.io.OutputStreamWriterC.java.io.EncodeOutputStreamD.java.io.EncodeWriter
23.为了区分重载多态中同名的不同方法,要求(A)
A.形式参数个数或者类型不同B.返回值类型不同C.调用时用类名或对象名做前缀D.形式参数名称不同
24.下列关于Java语言和C++语言之间差别的描述中,不正确的一项是(A)
A.Java虽然提供了安全机制,但是还是没有C++安全B.Java的内存管理优于C++的内存管理C.Java没有全局变量,但是C++有全局变量D.Java没有指针,但是C++的指针最灵活
25.现有一个变量声明为booleanb1;下面赋值语句中正确的是(A)
A.b1=true;B.b1=True;C.b1="ture";D.b1=0;
26.下面哪些选项不可以用作变量名的首字符?
(C)
A.字母B.下划线(_)C.数字D.美圆符号($)
27.下面的程序段执行后,cont的值是( B )
Stringstrings[]={"string","strong","street","soft"};
intcont=0;
for(inti=0;iif(strings[i].endsWith("ng"))
cont++;
A.1B.2C.3D.4
28.下述哪些语句为真?
(B)
A.一个FlowLayout定位的组件在容器发生改变时,可以在水平方向上改变大小
B.一个GfidLayout定位的组件在容器发生改变时,可以保持组件的大小不变
C.一个BorderLayout定位的组件在容器发生改变时,可以保持组件的大小不变
D.GridLayout定位的组件时,可以用网格状保持单元格大小一致
29.下述哪个方法是MouseMotionListener接口中的方法?
(A)
A.publicvoidmouseMoved(MouseEvent)
B.publicbooleanmouseMoved(MouseEvent)
C.publicvoidmouseMoved(MouseMotionEvent)
D.publicbooleanMouseMoved(MouseMotionEvent)
30.关于RandomAccessFile类的说法正确的是(B)
A.RandomAccessFile类继承自File类
B.RandomAccessFile类对象可读写Java原始类型数据
C.RandomAccessFile类对象只能从文件读Java原始类型数据
D.随机读写流的指针所计算的是字符的个数2
31.若有如下程序段:
程序的执行结果正确的是(B)。
intindex=1;
intfoo[]=newint[3];
intbar=foo[index]
intbaz=bar+index;
A.整型变量baz的值为0B.整型变量baz的值为1C.整型变量baz的值为2D.执行有错误
32.分析下列程序:
1)classPerson{
2)publicvoidprintValue(inti,intj){//...)
3)publicvoidprintValue(inti){//…}
4)}
5)publicclassTeacherextendsPerson{
6)publicvoidprintValue(){//…)
71publicvoidprintValue(inti){//…}
8)publicstaticvoidmain(Stringargs[]){
9)Persont=newTeacher();
10)t.printValue(10);
11)}
]2)}
第10行语句将调用哪行语句?
(D)A.第2行B.第3行C.第6行D.第7行
33.阅读下列程序:
//第1行
publieclassFoo{
publiestaticvoid(String[]args){
printWriterout=newprintWriter(new
java.io.OutputStreamWriter(System.out),true);
out.println("Heiio");
}
}
在标记为第一行的地方加入下面哪条语句可以使这个能够编译和执行?
(A)
A.importjava.io.PrintWriterB.includejava.io.PrintWriter
C.importjava.io.OutputStreamWriterD.includejava.io.OutputStreamWriter
34.Java语言的类间的继承关系是(B)A.多重的B.单重的C.线程的D.不能继承
35.Java语言是一种(D)
A.面向机器的编程语言B.面向过程的编译型编程语言
C.面向问题的解释型编程语言D.面向对象的解释型编程语言
36.下列语句执行后,i的值是( C )
inti=2;
do{i*=i;}while(i<16);
A.4B.8C.16D.32
37.分析以下程序:
publicclassTest{
staticvoidleftshift(inti,intj){
i<<=j;
}
publicstaicvoidmain(Stringargs[]){
inti=4,j=2;
leftshift(i,j);
System.out.println(i);
}
}
该程序的执行结果是(D)。
A.2B.4C.8D.16
38.下面的程序段输出的结果是( A)
Strings1="Abc",s2="Bcd";
System.out.println(pareTo(s2));
A.-1B.1C.falseD.true
39.编译并运行下面的程序,产生的结果是(B )
publicclassA
{
inta1=1;
inta2;
publicstaticvoidmain(String[]args)
{
inta3=2;
Aa=newA();
System.out.println("Result="+a.a1+a.a2+a3);
}
}
A.Result=3B.Result=102C.会产生编译错误D.不会产生编译错误,但也没有结果输出
40.要创建一个新目录,可用下面(D)类实现
A.FileInputStreamB.RandomAccessFileC.FileOutputStreamD.File
41.有如下程序:
publicclasSExceptionTest(
classTestExceptionextendsException{}
publicvoidrunTest()throwsTestException{}
publicvoidtest()/*pointx*/
{
runTest();
}
}
在该程序的poimx处,增加如下哪个选项程序才能通过编译?
(A)
A.throwsExceptionB.catch(Exceptione)C.throwsRuntimcExceptionD.catch(TestExceptione)
42.下面这些方法中(B)方法不是Applet的基本方法。
A.init()B.run()C.stop()D.start()
43.分析以下程序段:
abstractclassAbstractIt{
abstractfloatgetFloat();//第2行
}
publicclassAbstractTestextendsAbstractIt{
privatefloatf1=1.0f;
privatefloatgetFloat(){returnfl;}//第6行
}
下面哪一种结果正确?
(C)
A.可编译成功B.在第6行运行失败C.在第6行编译失败D.在第2行编译失败
44.一个包含Java类A,B,C的源程序A.java,编译产生的类文件是(B)。
A.A.classB.A.class,B.class,C.classC.A.class,B$.class,C$.classD.AS.class,B$.class,C$.class
45.分析以下程序:
publicclassArrayList{
publicstaticvoidmain(String[]args){
floatf1[],f2[];
fl=newfloat[10l;
f2=f1;//第5行
System.out.Println(“f2[0]="+f2[0]);//第6行
}
}
该程序执行的结果是(A)。
A.输出结果:
f2[0]=0.0B.输出结果:
f2[0]=NaNC.第5行有错误导致编译失败D.第6行有错误导致编译失败
46.设变量k已定义,以下由while语句构成的循环执行的次数是( A )
while(true)k++;
A.无限次B.有语法错误,不能执行C.一次也不执行D.执行1次
47.下面的说法正确的是(C)。
A.Java语言里的线程不是对象B.Java中任何可执行的类都需要main方法
C.Java语言的类都是java.1ang.Object的子类D.double是Java语言的合法标识符
48.下述哪个事件表明在一个java.awt.Component组件上有一个按键按下?
(C)
A.KeyEventB.KeyDownEventC.KeyPressEventD.KeyTypedEvent
49.下面哪个选项可以构造一个DataOutputStream对象?
(D)
A.newDataOutputStream("out.txt");B.newDataOutputStream(newFile("out.txt"));
C.newDataOutputStream(newWriter("out.txt"));D.newDataOutFIutStream(newFileOutputSream("out.txt"));
50.定义主类的类头时可以使用的访问控制符是(A)
A.publicB.protectedC.privateD.privateprotected
51.下面(B)修饰符所定义的方法必须被子类所覆盖
A.finalB.abstractC.protectdD.volatile
52.下述哪个方法是MouseMotionListener接口中的方法?
(A)
A.publicvoidmouseMoved(MouseEvent)B.publicbooleanmouseMoved(MouseEvent)
C.publicvoidmouseMoved(MouseMotionEvent)D.publicbooleanMouseMoved(MouseMotionEvent)
53.阅读下列程序:
importjava.awt.*;
publicclassTestextendsFrame{
publicTest(){
add(newLabel("Hello"));
add(newTextFieId("Hello"));
add(newButton("Hello"));//第6行
pack();
setVisible(true);
}
publicstaticvoidmain(String[]args){
newTest();
}
}
该程序的结果是(B)。
A.代码编译不通过B.显示一个窗口,仅包含一个按钮
C.在第6行抛出一个IllegalArgumentException异常D.出现一个空窗口
54.容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?
(D)
A.CardLayoutB.FlowLayoutC.BorderLayoutD.GridLayout
55.阅读下列程序:
publicC1assX2implementsRunnable{
privateintx;
privateinty;’
publicstaticvoidmain(String[]args){
X2that=newX2();
(newThread(that)).start();//第6行
(newThread(that)).start();//第7行
}
publicsynchronizedvoidrun(){
for(;;){
x++;
y++;
System.out.println("x="+x+",y="+y);
}
}
}
该程序的执行结果是(D)。
A.在第11行会引起编译错误B.在第6、7行会引起编译错误
C.程序可能输出X、Y不相同的数对,如:
"x=2,y=1"D.程序输出递增重复的X、Y数对,如:
"x=l,y=l"、"x=2,y=2"、…
56.分析下面两个Java程序:
//ClassOne.java
packagecom.ab.pkgl;
publicclassClassOne(
privateCharVar=’a’;
chargetVar(){returnvar;}
}
//ClassTest.java
packagecom.ab.Pkg2;
importcom.ab.pkgl.ClassOne;
publicclassClassTestextendsClassOne{//第3行
public8tatiCvoidmain(Stringargs[]){
chara=newClassOne().getVar();//第5行
charb=newClassTest()。
getVar();//第6行
}
}
ClassTest.java程序的执行结果是(B)。
A.程序编时在ClassTest.java的第3行出现错误B.程序编译成功,程序执行后无异常抛出
C.程序编时在ClassTest.java的第5行出现错误D.程序编译成功,程序执行时在ClassTest.java的第5