Java语言程序期末复习题和答案.docx

上传人:b****6 文档编号:13011708 上传时间:2023-06-10 格式:DOCX 页数:24 大小:27.75KB
下载 相关 举报
Java语言程序期末复习题和答案.docx_第1页
第1页 / 共24页
Java语言程序期末复习题和答案.docx_第2页
第2页 / 共24页
Java语言程序期末复习题和答案.docx_第3页
第3页 / 共24页
Java语言程序期末复习题和答案.docx_第4页
第4页 / 共24页
Java语言程序期末复习题和答案.docx_第5页
第5页 / 共24页
Java语言程序期末复习题和答案.docx_第6页
第6页 / 共24页
Java语言程序期末复习题和答案.docx_第7页
第7页 / 共24页
Java语言程序期末复习题和答案.docx_第8页
第8页 / 共24页
Java语言程序期末复习题和答案.docx_第9页
第9页 / 共24页
Java语言程序期末复习题和答案.docx_第10页
第10页 / 共24页
Java语言程序期末复习题和答案.docx_第11页
第11页 / 共24页
Java语言程序期末复习题和答案.docx_第12页
第12页 / 共24页
Java语言程序期末复习题和答案.docx_第13页
第13页 / 共24页
Java语言程序期末复习题和答案.docx_第14页
第14页 / 共24页
Java语言程序期末复习题和答案.docx_第15页
第15页 / 共24页
Java语言程序期末复习题和答案.docx_第16页
第16页 / 共24页
Java语言程序期末复习题和答案.docx_第17页
第17页 / 共24页
Java语言程序期末复习题和答案.docx_第18页
第18页 / 共24页
Java语言程序期末复习题和答案.docx_第19页
第19页 / 共24页
Java语言程序期末复习题和答案.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java语言程序期末复习题和答案.docx

《Java语言程序期末复习题和答案.docx》由会员分享,可在线阅读,更多相关《Java语言程序期末复习题和答案.docx(24页珍藏版)》请在冰点文库上搜索。

Java语言程序期末复习题和答案.docx

Java语言程序期末复习题和答案

Java语言程序期末复习题和答案

一.判断题

1.由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目。

(×)

2.注释的作用是使程序在执行时在屏幕上显示//之后的内容。

(×)

3.Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。

(√)

4.java异常处理中可以使用多个catch子句,此时应将高级别异常类的catch子句放在前面。

(×)

5.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。

(×)

6.创建Vector对象时构造函数给定的是其中可以包容的元素个数,使用中应注意不能超越这个数值。

(×)

7.静态初始化器是在其所属的类加载内存时由系统自动调用执行。

(√)

8.Applet是一种特殊的Panel,它是JavaApplet程序的最外层容器。

(√)

9.设String对象s=”H”,运行语句System.out.println(s.concat(“ello!

”));后String对象s的内容为”Hello!

”,所以语句输出为”Hello!

”。

(×)

10.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。

(×)

11.无论Java源程序包含几个类的定义,若该源程序文件以B.java命名,编译后生成的都只有一个名为B的字节码文件。

(×)

12.即使一个类中未显式定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无参的,函数体为空。

(√)

13.Java的各种数据类型所占用的内存长度与具体软硬件环境有关。

(×)

14.在Java的方法中定义一个常量要用const关键字。

(×)

15.Java的类不允许多重继承,但接口支持多重继承。

(√)

16.所谓抽象类就是包含有抽象方法的类。

(×)

17.在异常处理中总是将可能产生异常的语句放在try块中,用catch子句去处理异常,而且一个try块之后只能对应一个catch语句。

(×)

18.程序员可以不必释放已创建的对象,因为Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。

(×)

19.Java语言中的数组元素只能是基本数据类型而不能为对象类型。

(×)

20.构造函数用于创建类的实例对象,构造函数名应与类名相同,在类中必须定义构造函数,且只能定义一个构造函数。

(×)

21.在Java中%是取余运算符,要求两端操作数为整型。

(×)

22.Java有两类程序:

JavaApplication和JavaApplet,其中JavaApplet程序只能在图形界面中工作,而JavaApplication程序只能在字符界面中工作。

(×)

23.Java系统的标准输入对象是System.in,标准输出对象有两个,分别是标准输出System.out和标准错误输出System.err。

(√)

24.一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。

(√)

二.单项选择题

1.在浏览器中执行applet程序,以下选项中的哪个方法将被最后执行(C)。

A、init()B、start()C、destroy()D、stop()

2.Javaapplication中的主类需包含main方法,main方法的返回类型是什么?

(D)

A、intB、floatC、doubleD、void

3.有以下方法的定义,请选择该方法的返回类型(D)。

ReturnTypemethod(bytex,floaty)

{

return(short)x/y*2;

}

A、byteB、shortC、intD、float

4.设有下面两个类的定义:

classPerson{classStudentextendsPerson{

longid;//身份证号intscore;//入学总分

Stringname;//姓名intgetScore(){

}returnscore;

}

}

则类Person和类Student的关系是(B)。

A、包含关系B、继承关系C、关联关系D、上述类定义有语法错误

5.以下哪个关键字可以用来对对象加互斥锁?

(C)

A、transientB、serializeC、synchronizedD、static

6.在编写JavaApplet程序时,需要在程序的开头写上(B)语句。

A、importjava.awt.*;B、importjava.applet.*;

C、importjava.io.*;D、importjava.awt.event.*;

7.容器Panel和Applet缺省使用的布局编辑策略是(A)

A、FlowLayoutB、BorderLayoutC、GridLayoutD、CardLayout

8.以下声明合法的是(B)

A、defaultStrings;B、publicfinalstaticnativeintw()

C、abstractdoubled;D、abstractfinalinthyperbolicCosine()

9.以下程序段执行后将有(C)个字节被写入到文件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

10.编译并运行以下程序,以下描述哪个选项是正确的(C)。

1.classATestOftoString{

2.protectedStringtoString(){

3.returnsuper.toString();}

4.}

A、编译通过运行无异常B、编译通过但运行时出错

C、行2出错,不能成功编译D、不能成功编译,行3出错

11.有以下程序片段,下列哪个选项不能插入到行1。

(A)

1.

2.publicclassA{

3.//dosth

4.}

A、publicclassMainClass{}B、packagemine;

C、classANotherClass{}D、importjava.util.*;

12.在使用interface声明一个接口时,只可以使用(D)修饰符修饰该接口。

A、privateB、protectedC、privateprotectedD、public

13.以下哪个不是Java的关键字?

(A)

A、FALSEB、constC、thisD、void

14.关于以下application的说明,正确的是(C)。

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没有初始化

15.有程序如下,关于程序的描述哪个是正确的?

(C)

publicclassPerson{

  staticintarr[]=newint[5];

  publicstaticvoidmain(Stringa[])

  {   System.out.println(arr[0]);  }

}

A、编译将产生错误B、编译时正确,但运行时将产生错误

C、正确,输出0D、正确,输出 null

16.类ABC定义如下:

1.publicclassABC{

2.publicintmax(inta,intb){}

3.

4.}

将以下哪个方法插入行3是不合法的。

(B)

A、publicfloatmax(floata,floatb,floatc){}

B、publicintmax(intc,intd){}

C、publicfloatmax(floata,floatb){}

D、privateintmax(inta,intb,intc){}

17.以下关于构造函数的描述错误的是(A)。

A、构造函数的返回类型只能是void型。

B、构造函数是类的一种特殊函数,它的方法名必须与类名相同。

C、构造函数的主要作用是完成对类的对象的初始化工作。

D、一般在创建新对象时,系统会自动调用构造函数。

18.有语句Strings=”helloworld”;,以下操作哪个是不合法的?

(A)

A、s>>>=1;B、inti=s.length();C、Stringts=s.trim();D、Stringt=s+”!

”;

19.在浏览器中执行applet程序,以下选项中的哪个方法将被最先执行(A)。

A、init()B、start()C、destroy()D、stop()

20.有程序片段如下,以下哪个表示式的结果为true?

(B)

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)

21.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用(B)个比特位。

A、8B、16C、32D、64

22.以下哪项可能包含菜单条(B)。

A、PanelB、FrameC、AppletD、Dialog

23.paint()方法使用哪种类型的参数?

(A)

A、GraphicsB、Graphics2DC、StringD、Color

24.以下哪个方法用于定义线程的执行体?

 (C)

A、 start()B、init()C、run()D、synchronized() 

25.当浏览器暂时离开含applet程序的页面时,以下选项中的哪个方法将被执行?

(D)

A、init()B、start()C、destroy()D、stop()

26.下面哪个不是Java中的容器?

(A)

A、Canvas B、ScrollPaneC、AppletD、Dialog 

27.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。

这种面向对象程序的特性称为(C)。

A、隐藏B、覆盖C、重载D、Java不支持此特性

28.编译JavaApplet源程序文件产生的字节码文件的扩展名为(B)。

A、javaB、classC、htmlD、exe

29.下面哪个方法与applet的显示无关?

(A)

 A、draw() B、 update() C、repaint() D、paint()

30.编译并运行以下程序,以下描述哪个选项是正确的(C)

1.classA{

2.protectedbooleanequals(){

3.returnsuper.equals();}

4.}

A、编译通过运行无异常B、编译通过但运行时出错

C、行2出错,不能成功编译D、不能成功编译,行3出错

31.以下自定义标识符中哪项是不合法的(A)

A、constB、$doubleC、helloD、BigMeaninglessName

32.有如下代码段:

1)

2){if(unsafe()){//dosomething…}

3)elseif(safe()){//dotheother…}

4)}

其中,方法unsafe()将抛出IOException,请问可将以下哪项填入第1行?

(D)

A、publicIOExceptionmethodName()

B、publicvoidmethodName()

C、publicvoidmethodName()throwIOException

D、publicvoidmethodName()throwsIOException

33.类Test1、Test2定义如下:

1.publicclassTest1

2.{publicfloataMethod(floata,floatb)throws

3.IOException{}

4.}

5.publicclassTest2extendsTest1{

6.

7.}

将以下哪种方法插入行4是不合法的。

(A)

A、floataMethod(floata,floatb){}

B、publicintaMethod(inta,intb)throwsException{}

C、publicfloataMethod(floatp,floatq){}

D、publicintaMethod(inta,intb)throwsIOException{}

34.以下哪个接口的定义是正确的?

(D)

A、interfaceB

{voidprint(){};}

B、abstractinterfaceB

{voidprint();}

C、abstractinterfaceBextendsA1,A2//A1、A2为已定义的接口

{abstractvoidprint(){};}

D、interfaceB

{voidprint();}

35.下面哪个函数是public void aMethod(){...}的重载函数?

(D)

A、void aMethod( ){...}

B、public int aMethod(){...}

C、public void aMethod(){...}

D、public int aMethod ( int m){...}

36.A派生出子类B ,B派生出子类C,并且在Java源代码中有如下声明:

1.Aa0=newA();

2.A a1=newB();

3.Aa2=newC();

问以下哪个说法是正确的?

 (D)

A、只有第1行能通过编译 

B、第1、2行能通过编译,但第3行编译出错

C、第1、2、3行能通过编译,但第2、3行运行时出错

D、第1行、第2行和第3行的声明都是正确的 

37.假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?

(C)

classA

{inti;

staticStrings;

voidmethod1(){}

staticvoidmethod2(){}

}

A、System.out.println(a.i);B、a.method1();C、A.method1();D、A.method2()

38.下列哪些语句关于Java内存回收的说明是正确的?

(B)

A、程序员必须创建一个线程来释放内存

B、内存回收程序负责释放无用内存

C、内存回收程序允许程序员直接释放内存

D、内存回收程序可以在指定的时间释放内存对象

39.以下关于继承的叙述正确的是(A)。

A、在Java中类只允许单一继承

B、在Java中一个类只能实现一个接口

C、在Java中一个类不能同时继承一个类和实现一个接口

D、在Java中接口只允许单一继承

40.在编写JavaApplet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上(D)语句。

A、importjava.awt.*;B、importjava.applet.*;

C、importjava.io.*;D、importjava.awt.event.*;

三.程序阅读题

1.阅读以下程序:

classA

{publicstaticvoidmain(String[]args)

{Strings,s1="";

charc;

s=args[0];

for(inti=0;i

{c=s.charAt(i);

if(c>='a'&&c<='z'){

s1=s1+Character.toUpperCase(c);

}else{s1=s1+Character.toLowerCase(c);}

}

System.out.println(s1);}

}

若在dos命令行输入:

javaAhELLO,则输出为Hello。

2.写出以下程序的运行结果。

publicclassEqualOrNot

{publicstaticvoidmain(String[]args)false

{Bb1=newB(5);false

Bb2=newB(5);

System.out.println(b1==b2);

System.out.println(b1.equals(b2));

}

}

classB

{intx;

B(inty){x=y;}

}

3.阅读以下程序:

importjava.io.*;

publicclassReadLineTest{

publicstaticvoidmain(String[]args){

BufferedReaderb=newBufferedReader(newInputStreamReader(System.in));

Strings;

System.out.flush();

s=b.readLine();

System.out.println(s);

}

}

运行以上程序,若从键盘输入:

Hello<回车>

则输出结果为Hello。

4.写出以下程序的功能。

复制文件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();}

}

5.写出以下程序的功能。

计算命令行参数串大小写字母的个数并在屏幕上显示结果

classTest

{publicstaticvoidmain(String[]args)

{Strings;

charc;

intupper,lower;

upper=lower=0;

s=args[0];

for(inti=0;i

{c=s.charAt(i);

if(c>='a'&&c<='z')lower++;

if(c>='A'&&c<='Z')upper++;}

System.out.println(upper+”,”+lower);}

}

6.以下程序段的输出结果为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();}

}

7.写出以下程序的运行结果。

no1no2no3

importjava.util.*;no1no3

publicclassVec{

publicstaticvoidmain(String[]args){

String[]s;

s=newString[2];

s[0]=newString("no1");

s[1]=newString("no2");

Vectorv=newVector();

for(inti=0;i<2;i++)v.addElement(s[i]);

v.insertElementAt(newString("no3"),2);

Enumeratione=v.elem

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2