学年第一学期JAVA期末练习题及参考答案.docx
- 文档编号:9735745
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:31
- 大小:27.30KB
学年第一学期JAVA期末练习题及参考答案.docx
《学年第一学期JAVA期末练习题及参考答案.docx》由会员分享,可在线阅读,更多相关《学年第一学期JAVA期末练习题及参考答案.docx(31页珍藏版)》请在冰豆网上搜索。
学年第一学期JAVA期末练习题及参考答案
2009-2010学年第一学期JAVA期末练习题及参考答案
一、选择题
1、在编写实现文件读写功能的Java程序时,需要在程序的开头写上语句()。
A.importjava.applet.*;B.importjava.awt.*;
C.importjava.io.*;D.importjava.awt.event.*;
2、main方法是Java应用程序执行的入口点,以下哪项是main方法头?
()
A.publicstaticintmain(String[]arg)
B.publicstaticvoidmain(Stringarg)
C.publicstaticvoidmain(String[]args)
D.publicstaticvoidmain()
3、Java应用程序中的主类需包含main方法,main方法的返回类型是什么?
()
A、intB、floatC、doubleD、void
4、以下哪个不是Java的关键字?
()
A.doB.tryC.finalD.While
5、以下哪个不是Java的关键字?
()
A.tryB.catchC.booleanD.until
6、以下哪项标识符是不合法的。
()
A.StringB.$1C.xD.3_a
7、以下哪个修饰符可用于定义成员常量?
()
A.finalB.staticC.abstractD.const
8、以下关于构造函数的描述正确的是()。
A.构造函数是特殊的方法,返回类型只能为void
B.可以定义多个构造函数,但每个方法名需各不相同
C.在类定义中必须定义构造函数,而且只能定义一个构造函数
D.构造方法与类同名,在创建新对象时系统会自动调用构造函数
9、以下关于构造函数的描述错误的是()。
A、构造函数的返回类型只能是void型。
B、构造函数是类的一种特殊函数,它的方法名必须与类名相同。
C、构造函数的主要作用是完成对类的对象的初始化工作。
D、一般在创建新对象时,系统会自动调用构造函数。
10、关于类的继承以下说法错误的是()。
A.在java中类只允许单一继承
B.在java中一个类可实现多个接口
C.在java中一个类可以同时继承一个类和实现一个接口
D.java允许多重继承
11、设有下面两个类的定义:
classPerson{
classStudentextendsPerson{
longid;//身份证号
intscore;//入学总分
Stringname;//姓名
intgetScore(){returnscore;}
}
}
则类Person和类Student的关系是()。
A、包含关系B、继承关系C、关联关系D、上述类定义有语法错误
12、关于修饰符static以下叙述错误的是()。
A.static方法不可被覆盖
B.static可以用来修饰类
C.static方法不可以直接访问非静态的方法,否则编译出错
D.static方法只能访问类变量或方法参数,不可直接访问成员变量
13、关于Java的修饰符,以下说法错误的是()。
A.抽象类中的方法不一定都是抽象方法
B.final类中的属性和方法都必须被final修饰符修饰
C.类及其属性、方法可以同时有一个以上的修饰符来修饰
D.要使类中某个成员变量只能被它自身访问到,该变量只能用private修饰
14、给出如下代码:
class Test{
//定义成员a
public static void fun() {
// some code...
}
}
要在函数fun()中直接访问a,以下成员变量a定义正确的是()。
A.public int a;B.static int a; C.int a;D.protected int a;
15、容器Frame使用的缺省布局编辑策略是()。
A.FlowLayoutB.BorderLayoutC.GridLayoutD.CardLayout
16、以下声明合法的是()
A、defaultStrings;
B、publicfinalstaticnativeintw()
C、abstractdoubled;
D、abstractfinalinthyperbolicCosine()
17、以下程序段执行后将有()个字节被写入到文件afile中。
try{
FileOutputStreamfos=newFileOutputStream(“afile.txt”);
DataOutputStreamdos=newDataOutputStream(fos);
dos.writeInt(3);
dos.writeDouble(0.01);
dos.close();
fos.close();
}
catch(IOExceptione){}
A、2B、8C、12D、16
18、编译并运行以下程序,以下描述哪个选项是正确的()。
classATestOftoString{
protectedStringtoString(){
returnsuper.toString();}
}
A、编译通过运行无异常B、编译通过但运行时出错
C、行2出错,不能成功编译D、不能成功编译,行3出错
19、有以下程序片段,下列哪个选项不能插入到行1。
()
1.
2.publicclassA{
3.//dosth
4.}
A、publicclassMainClass{}B、packagemine;
C、classANotherClass{}D、importjava.util.*;
20、在使用interface声明一个接口时,只可以使用()修饰符修饰该接口。
A、privateB、protectedC、privateprotectedD、public
21、以下哪个不是Java的关键字?
()
A、FALSEB、constC、thisD、void
22、关于以下application的说明,正确的是()。
1.classStaticStuff
2.{
3.staticintx;
4.static{x+=5;}
5.publicstaticvoidmain(Stringargs[])
6.{
7.System.out.println(“x=”+x);
8.}
9.static{x/=5;}
10.}
A、4行与9行不能通过编译,因为缺少方法名和返回类型
B、9行不能通过编译,因为只能有一个静态初始化器
C、编译通过,执行结果为:
x=1
D、能通过编译,但程序运行结果不可预知,因为变量x没有初始化
23、有程序如下,关于程序的描述哪个是正确的?
()
publicclassPerson{
staticintarr[]=newint[5];
publicstaticvoidmain(Stringa[])
{ System.out.println(arr[0]); }
}
A、编译将产生错误B、编译时正确,但运行时将产生错误C、正确,输出0D、正确,输出 null
24、类ABC定义如下:
1.publicclassABC{
2.publicintmax(inta,intb){}
3.
4.}
将以下哪个方法插入行3是不合法的。
()
A、publicfloatmax(floata,floatb,floatc){}
B、publicintmax(intc,intd){}
C、publicfloatmax(floata,floatb){}
D、privateintmax(inta,intb,intc){}
25、有语句Strings=”helloworld”;,以下操作哪个是不合法的?
()
A、s>>>=1;B、inti=s.length();
C、Stringts=s.trim();D、Stringt=s+”!
”;
26、有程序片段如下,以下哪个表示式的结果为true?
()
Floats=newFloat(0.1f);
Floatt=newFloat(0.1f);
Doubleu=newDouble(0.1);
A、s==tB、s.equals(t)C、u.equals(s)D、t.equals(u)
27、Java的字符类型采用的是Unicode编码方案,每个Unicode码占用()个比特位。
A、8B、16C、32D、64
28、以下哪项可能包含菜单条()。
A、PanelB、FrameC、AppletD、Dialog
29、paint()方法使用哪种类型的参数?
()
A、GraphicsB、Graphics2DC、StringD、Color
30、以下哪个方法用于定义线程的执行体?
()
A、 start()B、init()C、run()D、synchronized()
31、下面哪个不是Java中的容器?
()
A、Canvas B、ScrollPaneC、AppletD、Dialog
32、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。
这种面向对象程序的特性称为()。
A、隐藏B、覆盖C、重载D、Java不支持此特性
33、以下自定义标识符中哪项是不合法的()
A、constB、$double
C、helloD、BigMeaninglessName
34、类Test1、Test2定义如下:
1.publicclassTest1
2.{publicfloataMethod(floata,floatb)throws
3.IOException{}
4.}
5.publicclassTest2extendsTest1{
6.
7.}
将以下哪种方法插入行4是不合法的。
()
A、floataMethod(floata,floatb){}
B、publicintaMethod(inta,intb)throwsException{}
C、publicfloataMethod(floatp,floatq){}
D、publicintaMethod(inta,intb)throwsIOException{}
35、以下哪个接口的定义是正确的?
()
A、interfaceB
{voidprint(){};}
B、abstractinterfaceB
{voidprint();}
C、abstractinterfaceBextendsA1,A2//A1、A2为已定义的接口
{abstractvoidprint(){};}
D、interfaceB
{voidprint();}
36、下面哪个函数是public void aMethod(){...}的重载函数?
()
A、void aMethod( ){...}
B、public int aMethod(){...}
C、public void aMethod(){...}
D、public int aMethod ( int m){...}
37、A派生出子类B ,B派生出子类C,并且在Java源代码中有如下声明:
1.Aa0=newA();
2.A a1=newB();
3.Aa2=newC();
问以下哪个说法是正确的?
()
A、只有第1行能通过编译
B、第1、2行能通过编译,但第3行编译出错
C、第1、2、3行能通过编译,但第2、3行运行时出错
D、第1行、第2行和第3行的声明都是正确的
38、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?
()
classA
{inti;
staticStrings;
voidmethod1(){}
staticvoidmethod2(){}
}
A、System.out.println(a.i);B、a.method1();C、A.method1();D、A.method2()
39、下列哪些语句关于Java内存回收的说明是正确的?
()
A、程序员必须创建一个线程来释放内存
B、内存回收程序负责释放无用内存
C、内存回收程序允许程序员直接释放内存
D、内存回收程序可以在指定的时间释放内存对象
40、关于垃圾收集机制的叙述正确的是()。
A.垃圾收集将检查并释放不再使用的内存
B.程序开发者必须自己创建一个线程进行内存释放的工作
C.垃圾收集允许程序开发者明确指定并立即释放该内存
D.垃圾收集能够在期望的时间释放被java对象使用的内存
41、将以下哪个方法的定义插入第6行后,会引发编译错误?
()
1.classSuper{
2.publicvoida(){}
3.}
4.
5.publicclassSubextendsSuper{
6.
7.}
A.floata(){return1;}
B.publicvoida(intx){}
C.publicvoida(floatf){}
D.publicfloata(intx){return(float)x;}
42、以下方法的返回类型是()。
ReturnTypefunction(intx,doubley)
{
returnx+y/2;
}
A.byteB.shortC.floatD.double
43、以下接口定义正确的是()。
A.interfaceATest
{voidt(){};}
B.publicinterfaceATest
{voidt();}
C.abstractinterfaceATest
{voidt();}
D.abstractinterfaceATestextendsATest1,ATest2
//ATest1,ATest2为已定义的接口
{abstractvoidt(){};}
44、可以用来为对象加互斥锁的关键字是()。
A.transientB.serializeC.staticD.synchronized
45、关于异常处理,以下说法错误的是()。
A.可以使用throw语句抛出异常
B.程序可以使用try、catch、finally语句捕获异常
C.无论try块中是否发生异常,finally标识的代码块都会被执行
D.try语句后只能有一个catch语句
46、有如下代码段:
1.
2.{if(f1()){//dosomething…}
3.elseif(f2()){//dotheother…}
4.}
其中,方法f1()将抛出IOException,以下可以填入第1行的是()。
A.publicIOExceptionfunction()
B.publicvoidfunction()IOException
C.publicvoidfunction()throwsIOException
D.publicvoidfunction()throwIOException
47、给出如下代码:
publicclassExample{
publicstaticvoidmain(Stringargs[]){
staticintb[]=newb[8];
System.out.println(b[8]);}
}
以下哪个说法是正确的?
()
A.有错,不能通过编译
B.编译通过,但运行时有错
C.输出0
D.输出null
CCDDDDADADBBBBBBCCADACCBABBBACACAADDDCBAADBDDCA
三、程序阅读
1、写出以下程序的运行结果。
publicclassTest_2
{
publicstaticvoidmain(String[]args)
{System.out.println(fun(3,4,5));}
staticintfun(intx,inty,intz)
{returnfun(x,fun(y,z));}
staticintfun(intx,inty)
{returnx*y;}
}
60
2、写出以下程序的运行结果。
classOverloadDemo{
voidtestOverload(inti){
System.out.println("integer");
}
voidtestOverload(Strings){
System.out.println("String");
}
publicstaticvoidmain(Stringargs[]){
OverloadDemoa=newOverloadDemo();
charch=’k’;
a.testOverload(ch);
}
}
integer
3、写出以下程序的运行结果。
classStaticStuff
{
staticintx;
static{x+=7;}
publicstaticvoidmain(Stringargs[]){
System.out.println("x="+x);
}
static{x%=4;}
}
x=3
4、写出以下程序的运行结果。
publicclassTest_3
{
staticintx;
publicTest_3(){
x++;}
publicstaticvoidmain(String[]args){
Test_3s1=newTest_3();
System.out.print(s1.x+",");
s1=newTest_3();
System.out.println(s1.x+",");
s1=newTest_3();
System.out.println(s1.x);
}
static{x=1;}
}
2,3,4
5、写出以下程序的运行结果。
publicclassTest_3
{
publicstaticvoidmain(String[]args)
{System.out.println(doSth(1,2,3));}
staticintdoSth(intx,inty,intz)
{returndoSth(x,doSth(y,z));}
staticintdoSth(intx,inty)
{returnx>y?
x:
y;}
}
3
6、阅读以下程序,输出结果为1.23。
classQ1{
publicstaticvoidmain(Stringargs[]){
doubled=1.23;
Decdec=newDec();
dec.decrement(d);
System.out.println(d);
}
classsDec{
publicvoiddecrement(doubledecMe){
decMe=decMe-0.1;
}
}
7、写出以下程序的功能。
复制文件a.txt到文件b.txt
importjava.io.*;
publicclassC{
publicstaticvoidmain(String[]args)throwsIOException{
FileinputFile=newFile(“a.txt");
FileoutputFile=newFile(“b.txt");
FileReaderin=newFileReader(inputFile);
FileWriterout=newFileWriter(outputFile);
intc;
while((c=in.read())!
=-1)
out.write(c);
in.close();
out.close();}
}
8、写出以下程序的功能。
在屏幕上输出Test.java文件的内容
importjava.io.*;
classTest_4{
publicstaticvoidmain(String[]args)throwsIOException
{
intb;
FileInputStreamfileIn=newFileInputStream("Test.java");
while((b=fileIn.read())!
=-1){
System.out.print((char)b);}
}
}
9、以下程序段的输出结果为1234589。
publicclassC
{publicstaticvoidmain(Stringargs[]){
inti,j;
inta[]={2,1,4,8,9,5,3};
for(i=0;i intk=i; for(j=i;j if(a[j] inttemp=a[i]; a[i]=a[k]; a[k]=temp;} for(i=0;i System.out.print(a[i]+""); System.out.println();} } 10、写出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学年 第一 学期 JAVA 期末 练习题 参考答案