学年第一学期JAVA期末练习题及参考答案.docx

上传人:b****7 文档编号:9735745 上传时间:2023-02-06 格式:DOCX 页数:31 大小:27.30KB
下载 相关 举报
学年第一学期JAVA期末练习题及参考答案.docx_第1页
第1页 / 共31页
学年第一学期JAVA期末练习题及参考答案.docx_第2页
第2页 / 共31页
学年第一学期JAVA期末练习题及参考答案.docx_第3页
第3页 / 共31页
学年第一学期JAVA期末练习题及参考答案.docx_第4页
第4页 / 共31页
学年第一学期JAVA期末练习题及参考答案.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

学年第一学期JAVA期末练习题及参考答案.docx

《学年第一学期JAVA期末练习题及参考答案.docx》由会员分享,可在线阅读,更多相关《学年第一学期JAVA期末练习题及参考答案.docx(31页珍藏版)》请在冰豆网上搜索。

学年第一学期JAVA期末练习题及参考答案.docx

学年第一学期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、写出

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1