Java语言程序设计考试题库及答案_第1页
Java语言程序设计考试题库及答案_第2页
Java语言程序设计考试题库及答案_第3页
Java语言程序设计考试题库及答案_第4页
Java语言程序设计考试题库及答案_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《java程序设计》复习题(带答案)

第一部分选择题(单选)

1.

javac是java的(B)

A.解释器

B.编译器

C.小程序浏览器

D.调试器

2.

appletviewer是java的(C)

A.解释器

B.编译器

C.小程序浏览器

D.调试器

3.

编译一个定义了三个类和三个方法的java源码文件,总共会产生几个字节码文件,其扩展

名是什么?(C)

A.5个字节码文件,其扩展名是“.java”

B.2个字节码文件,其扩展名是“.java”

C.3个字节码文件,其扩展名是“.class”

D.2个字节码文件,其扩展名是“.class”

4.

java源码文件的名称与主类的名称(B)

A.必须相同但不区分大小写

B.必须相同且区分大小写

C.必须不同

D.任意

5.

下面那些选项不能用做变量名的首字符(C)

A.字母

B.下划线(_)

C.数字

D.美元符号($)

6.

下面哪个不是java的原始数据类型?(B)

A.short

B.boolean

C.Int

D.Float

7.下面哪条语句不会出现编译警告或错误?(A)

A.floatf=1.3F;

B.chatc="a";

C.floatf=1.3;

D.booleand=null;

8.

以下声明常量不正确的是(B)

A.finalintPI=3;

B.finalPI=3;

C.staticfinalintPI=3:

D.publicstaticfinalintPI=3;

9.

java定义了4个整型数据类型:字节性(byte)短整型(short)整型(int)长整型(long),

其中byte占用内存为(A)

A.8bit

B.16bit

C.32bit

D.64bit

10.

5%2.1的值是(D)

A.1

B.0

C.0.8

D.不能通过编译

11.

-11&3的值是(A)

A.1

B.3

C.9

D.-11

12.

8«2的值是(A)

A.2

B.4

C.8

D.32

13

若有inta=1,b=2,c=3,d=4;则表达式a>b?a:c>d?c:d的值是(D)

A.1

B.2

C.3

D.4

14.

以下为合法类型转换的为(D)

A.(int)"A"

B.(char)^^A,^

C.(boolean)(2-2)

D.(char)(651/12)

15

下面哪条语句是正确的?(C)

A.inta={1,2,3,4,5,};

B.intb=(l,2,3,4,5)

C.intc[]={1,2,3,4,5}

D.int[]d={123,4,5}

16.

对于数组inta口;下面那条语句可以输出数据a的元素个数?D

A.System.out.println(a.size);

B.System,out.println(a.size());

C.System.out.println(a.length());

D.System.out.println(a.length);

17.

可以用作switch表达式的基本数据类型分别是(B)

A.boolean

B.byte

C.float

D.double

18.

下面的while语句退出时.i的值是(D)

byteb=l;

inti=0;

while(b++>0)

i=i+l;

A.126

B.0

C.127

D.出现死循环,i的值无穷大

19.

设J_Hello.java文件内容如下:

classJ_Hello{

staticvoidmain(Stringargs[]){

System.out.println(44Hello!");

}

)

下面说法正确的是(D)

A.J_Hello.java无法通过编译

B.J_Hello.java可以通过编译,但运行时出现"Mainmethodnotpublic”提示信息

C.J_Hello.java可以通过编译,但无法运行,且无任何提示信息

D.J_Hello.java可以通过编译,可以正常运行,输出“Hello!”

20

下面哪个类声明是正确的(D)

A.abstractfinalclasscar{}

B.abstractprivatecar(){}

C.protectedprivatecar{}

D.publicabstractclasscar{};

21.

下列(C)的说法是错误的。

A.Java语言只允许单一继承

B.Java语言允许多个接口

C.Java语言不允许一个类派生多个子类

D.Java语言的单一继承使得代码更加可靠

22.

下述(A)说法是正确的

A.实例变量是类的成员变量

B.实例变量是用static关键字声明的

C.方法变量在方法执行时创建

D.方法变量在使用之前不用初始化

23.

使用继承的优点(A)

A.基类的大部分功能可以通过继承关系自动进入派生类

B.继承将基类的实现细节暴露给派生类

C.基类实现出现问题,、就会影响到派生类

D.可在运行期决定是否选择继承代码,有足够的灵活性

24.

下列关于修饰符混用的说法,错误的是(A)

A.abstract不能与final并列修饰同一个类

B.abstract类中不能有private的成员

C.abstract方法必须在abstract类中

D.static方法中能处理非static的属性

25

对于下列代码:

publicclassParent

{publicintaddValue(inta,intb)

{

ints;

s=a+b;

returns;}

)A

classChildextendsParent{......}

Child类中欲把Parent类中的addValue方法覆盖,下述什么方法可以加入类Child中?

A

A.privateintaddValue(inta,intb){....}

B.publicfloataddValue(inta,intb){....}

C.publicintaddValue(inta,intb){....}

D.publicintaddValue(inta,intb)throwsMyException{....}

26声明成员变量为临时变量(又称为过渡变量)所用的保留字是(C)

A.final

B.abstract

C.transient

D.temp

27.

声明公共变量所用的保留字是(A)

A.public

B.private

C.protectede

D.static

28

声明受保护变量所用的保留字是(C)

A.public

B.private

C.protected

D.static

29

设有下面的程序段

1.classStaticStuff

2.(

3.staticintx=10;

4.static{x+=5;}

5.publicstaticvoidmain(Stringargs[])

6.{

7.System.out.println(C4x=,,+x);

8.}

9.static{x/=3;}

10.)

哪个说明是正确的()

A.4行和9行不能通过编译,因为缺少方法名和返回类型

B.9行不能通过编译,因为只能有一个静态初始化器

C.编译通过,执行结果为:x=5;

D.编译通过,执行结果为:x=3;

30

对于下述类定义哪个说法正确?(A)

classMyStringextendsString{.....}

A.可以成功编译

B.无法编译,因为没有main方法

C.无法编译,因为String是抽象类

D.无法编译,因为String是final类

31

不能在Java派生类中被覆盖的方法是(C)

A.构造函数

B.动态方法

C.final方法

D.抽象方法

32

关于方法覆盖,下面哪个说法是错误的(A)

A.方法覆盖可以发生在任意类之间

B.覆盖方法与被覆盖的方法返回值类型相同

C.如果被覆盖的方法是用public修饰的,覆盖方法也必须用public修饰

D.覆盖方法不能抛出比被覆盖的方法更多的异常

33

下面哪个方法声明是正确的?B

A.abstractfinalStringabc(){}

B.publicabstractabc(){}

C.privatestaticvoidabc(){}

D.publicabstractstaticvoidabc(){}

34

编译以下代码,将出现什么情况?()

abstractclassShape{

abstractvoiddraw();

)

classSquareextendsShape{}

A.Square类和Shape类都可以成功编译

B.Square类无法编译,但Shape可以编译

C.Shape类无法编译,但Square可以编译

D.Square类和Shape类都无法编译

35

关于Java的垃圾回收机制,下面那些结论是正确的?()

A.程序可以任意指定释放内存的时间

B.正确的程序写法是不能依赖垃圾回收的时间或者顺序的

C.程序不能标识某个局部变量的引用不再被使用

D.程序可以显示地立即释放对象占有的内存

36

要求设计一个类,它拥有一个特殊的成员域,该成员域必须能够被这个类的子类访问到,

但是不能被不在同一个包内的其他类访问到,下面那些设计可以满足上述要求?()

A.该成员域的封装属性设置为public

B.该成员域的封装属性设置为private

C.该成员域的封装属性设置为protected

D.该成员域不需要特殊的封装属性

37

接口的实现所用的关键字是()

A.interface

B.implements

C.extends

D.throws

38

在编写异常处理的Java程序中,每个catch语句块应该与什么语句块对应?

A.if-else

B.switch

C.try

D.throw

39

在编写JavaApplication程序时,若需要使用到标准输入、输出语句,必须在程序的开

头写上什么语句?

A.importjava.awt.*;

B.importjava.applet.Applet;

C.importjava.io.*;

D.importjava.awt.Graphics;

40

下面哪个类最适合处理大数据量的文本文件?

A.java.io.FilelnputStream

B.java.io.FileReader

C.java.io.BufferedReader

D.java.io.RandomAccessfile

41

以下什么类不属于字符流类?

A.Reader

B.FileReader

C.BufferedlnputStream

D.StringReader

42

在设计java的数据流操作的程序中,必须加入什么语句?

A.importjava.awt.*;

B.importjava.applet.*;

C.importjava.io.*;

D.importjava.awt.event.*;

43

以下哪个可能包含菜单条?

A.Panel

B.Frame

C.Applet

D.Dialog

44

以下代码完成画线功能,指出所画线的颜色

g.setColor(Color.red.green.yello.cyan);

g.drowLine(0,0,100,100)

A.red

B.green

C.yello

D.cyan

45

Thread类的什么方法实现线程的暂时停止操作?

A.destroy()

B.stop()

C.sleep()

D.suspend()

46

处理线程间通信等待和通知的方法是?()

A.wait。和notify()

B.start。和stop()

C.run()和stop。

D.wait。和suspend()

47

在java中,开发图形用户界面的程序需要使用系统提供的类库,这个类库是()

A.java.io

B.java.awt

C.java.applet

D.java.event

'48

applet所在的页面被浏览和加载后,applet就诞生了,当浏览器切换到别的页面时,它的什

么方法被调用?。

A.init

B.start

C.stop

D.destroy

49标签组件由什么类生成()

A.Label

B.Button

C.Choice

D.Checkbox

50

画矩形,使用什么方法?

A.drawLing(xl,yl,x2,y2)]

B.drawRect(xl,yl,w,h)

C.drawOval(xl,yl,w,h)

D.drawString(s,xl,yl)

第二部分填空题

1.sun公司提供的Java开发工具包,用于台式机的开发工具包是

2.Java程序可分为两种基本类型,它们是和

3.Java虚拟机运行Java程序的基本步骤是:首先从后缀为的文件加载代码到内

存中,接着在内存中代码的合法性及,然后执行安全

和合法的代码

4.Java标识符是由、、组成的字符序列

5.Java字符(char)采用的是ISO规定的字符集

6.int类型数据在内存中占个二进制位

7.在Java语言中,字符串直接量是用括起来的字符序列

8.字符串不是字符数组,而是类的实例对象

9.在类中声明的变量叫,可在________中使用

10.在方法和方法块中声明的变量叫,其使用范围是

11.byte或short或int类型数据与long类型数据混合运算时,其结果是类型

12.设x=2,则表达式(x++)/3的值是

13.设x=5,y=10,贝表达式x>y&&x++=y--的值是

14.设有运算符!=、*、&&、>+、?:按优先级从高到低的排列顺序是

15.表达式(3<5)以6<4)的值是

16.表达式(byte)(1200)的值是

17.数组对象的长度在数组对象创建后,就改变

18.已知数组a的定义是''inta[]={l,2,3,4,5};”则这时a⑵的值是

19.如有声明出。玳2口口=证亚日(^[3北4];则系统为该数组分配个字节的空间

20.对于数组int口口t={(1,2,3,4),(5,6,7,8)};t.length等于,t[0].length等于

21.swith语句中的case后面的常量可以是类型和类型

22.若有byteb=l;intI=0;while(++b>0)1=1+1;贝while退出时I的值为

23.面向对象的计算机语言一般应有3个基本特征,分别是、

24.如果一个JavaApplet源程序文件只定义有一个类,其类名为MyApplet,则类MyApplet

必须是类的子类

25.一个复杂的系统往往包含多个对象,这些对象间可能存在的关系有三种,它们是

26.方法是一种仅有方法头,没有具体方法体个操作实现的方法,该方法必须在

抽象类中定义

27.方法是不能被当前类的子类重新定义的

28.Java语言通过机制简化了程序的内存管理。

29.在Java中有两种多态,一种是使用方法的实现多态,另一种是使用方法的

__________实现多态。

30.被protected修饰的变量称为,可被访问。

31.抽象方法是指的方法,抽象方法只能出现在________中

32.在JAVA类的层次结构中,最顶端的类是,它在________中定义,是所有

类的始祖。

33.不能覆盖父类中的方法和方法。

34.创建子类对象实例时,系统可以自动调用父类的构造方法,初始化

__________的数据。

35.对于父类中的构造方法,系统不能自动调用它们,只能通过在子类构造方法中使用关键

字调用,其调用语句位置必须是

36.创建一个名为MyPackage的语句是,该语句应该放在程序的位置为:

37.Java提供的异常处理机制包括两个过程和

38.在Java程序中,通过接口的定义可以实现________重继承关系

39.顺序执行以下两条语句的输出结果是:

Strings="沈阳市”;

System.out.println(s.length());

40.字符串分为两大类,一是字符串常量,使用类的对象表示;另一类是字符串

变量,使用类的对象表示。

41.创建一个标识有“关闭”按钮的语句是

42.Java的组件主要是在________和中

43.线程创建后,可以在任何时刻调用、方法改变线程的优先级

44.调用方法可以停止线程的运行

45.Applet所在的页面被浏览和加载后,Applet就诞生了。当浏览器切换到别的页面时,它

的方法被调用

46.标签组件由类生成。

47.画矩形的方法是

48.关键字synchronized的作用是

49.当线程对象被调度执行时自动调用方法

50.当线程对象被调度执行时自动调用方法

第三部分回答问题

1、上机编译编写的源程序,使用什么命令进行编译?源程序文件的扩展名是什么?

Java编译器产生的文件扩展名是什么?

2、上机解释执行编译好的程序,使用什么命令进行解释?Java解释器解释的文件的扩

展名是什么?

3、简述Java语言的主要特点。

4、Java应用程序和Java小应用程序有何区别?

5、Java能跨操作系统平台运行的原理是什么

6、简述Java程序的框架结构

7、float和double型数据在赋值时有哪些注意事项?

8、float和double型数据在赋值时有哪些注意事项?

9、Java为什么把字符串定义为类?为什么定义了两个字符串类?

10、静态变量有何特点?如何存取静态变量?

11、静态方法有何特点?静态方法存取成员变量时有何要求?

12、什么是抽象类,抽象方法?他们有何特点?

13、类与对象有何关系?如何创建对象?

14、什么是类变量、成员变量、实例变量、局部变量?

15、什么是类的多态性?何为隐藏、覆盖、重载?

16、this和super有什么作用?

17、什么是构造方法?构造方法有何特点和作用?

18、设Object类派生出G类,G类派生出F类,F类派生出ME类

问:

①构造器的调用顺序是什么?

②如果父类的构造器重载了,可通过什么方法调用父类中某个指定的构造器?

③如果子类自己的构造器重载了,可通过什么方法在一个构造其中调用另一个构

造器?

19、什么是标准输入输出方法?什么是标准输入输出设备?标准输入方法read在

使用中应注意什么?它输入的数据是什么类型?

20、包有什么作用?Java系统提供了哪些常用包?如何使用包?

21、接口有什么作用?接口有哪些性质?

22、什么是异常?为什么进行异常处理?如何创建一个自定义异常?如何抛出自

定义异常?

23、试述JavaApplet的工作原理,其生命周期是如何划分的?

24、如何从HTML文件中向Applet传递参数?这些参数是如何被接收和处理的?

25、什么是Java数据流?

第四部分写出下面程序的运行结果或完成的功能(以下各程序请自己商机通过,得出结果。)

1.

publicclasssum{

publicstaticvoidmain(Stringargs[]){

doublesum=0.0;

for(intI=l;I<=100;I++)

sum+=1.0/(double)I

System.out.printlnC4sum=,,+sum);

}

)

2.

publicclassJ_Test{

publicstaticvoidmain(Stringargs[]){

inti=l,x=2;

switch(x){

case1:i++;

case2:i—;

case3:++i;break;

case4:—i;}

System,out.println(i);

)

}

3.

classQl{

publicstaticvoidmain(Stringargs[]){

doubled=5.55;

Decdec=newDec();

dec.decrement(d);

System.out.print(d);

classDec{

publicvoiddecrementdoubledecMe){

decMe=decMe-1;

4.

使用命令javaabcGoodMoning运行下面程序:问输出什么?

Publicclassabc{

Publicstaticvoidmain(Stringargs[]){

Chargerc=newCharger();

c.method(args);

System.out.print(args[0]+?,9,+arg[l]);

}

)

classCharger{

voidmethod(String[]s){

Stringtemp=s[0];

s[O]=s[l];

s[l]=temp;

5.

设有如下程序:

publicclassJ_Test9{

publicstaticvoidmain(Stringargs[]){

intsum=0;

for(intI=l;I<12;I++){

for(intj=l;j<4;j++){

sum+=j;

if(I+j>s)breaka;}

System.out.println(ccsum=,,+sum);

6.

classJ_Base

publicvoidmb_method()

(

System.out.println("Base");

)

)

classJ_Testl5extendsJ_Base

(

publicvoidmb_method()

(

System.out.println("Test");

)

publicstaticvoidmain(Stringargs[])

(

Objecta=newJ_Testl5();

((J_Base)a).mb_method();

)

)

7.

publicclassJ_Testl6

(

staticintm_data=0;

publicintmb_method()

(

m_data++;

returnm_data;

)

publicstaticvoidmain(Stringargs[])

(

J_Testl6a=newJ_Testl6();

J_Testl6b=newJ_Testl6();

J_Testl6c=newJ_Testl6();

a.mb_method();

b.mb_method();

c.mb_method();

intI=a.mb_method();

System,out.println(i);

)

)

8.

publicclassJ_Testl7

(

intm_I=2;

Stringm_s=null;

J_Testl7()

(

m_I=2;

m_s="record”;

)

publicstaticvoidmain(Stringargs[])

(

J_Testl7app=newJ_Testl7();

System.out.println(app.m_I+app.m_s);

)

)

9.

publicclassabc{

publicstaticvoidmain(Stringargs[]){

SubClasssb=newSubClass();

System.out.println(sb.max());

)

)

classSubClassextendsSuperclass(

intmax(){return((a>b)?a:b);

)

)

10.

classJ_Base{

publicintm_data=6;

publicvoidmb_print()

(

System.out.print(m_data);

)

}

classJ_SubClassextendsJ_Base{

publicintm_data=3;

publicvoidmb_print();

(

System.out.print(m_data);

)

)

classJ_Test{

publicstaticvoidmain(Stringargs[]){

J_Baseapp=newJ_SubClass();

app.mb_print();

System.out.println(app.m_data);

)

)

11.

classParent{

voidprintMe()

{System.out.println("parent’');}

classChildextendsParent(

voidprintAll()

(

super.printMe();

this.printMe();

printMe();

)

)

12.

importjava.awt.*;

publicclassSt{

publicstaticvoidmain(Stringargs[]){

Stringforwards=newString,〕lovefava");

Stringbackwards=^^

System.out.println(forwards);

IntlastCharPos=(forwards.length()-1);

Inti;

for(I=lastCharPos;I>=0;I++)

backwards+=forwards.charAt(i);

System.out.println(backwards);

)

13.

classJ_Base{

publicintm_data=l;

publicStringmb_method()

{return"2";}

)

classJ_TestextendsJ_Base{

publicintm_data=3;

publicStringmb_method(){return“4”;}

publicstaticvoidmain(Stringargs[]){

J_Baseapp=newJ_Test();System.out.println(app.m_Data+app.mb_Method());p

)

}

14.

publicclassHl{

staticintc;

inta,b;

publicstaticvoidmain(String[]s){

inta=l,b=2,c=3;

Hlhl=newHl();

Hlh2=newHl();

hl.a=4;

h2.a=5;

System.out.println(a);

System.out.println(b);

System.out.println(hl.a);

System.out.println(h2.a);

System.out.println(c);

System.out.println(Hl.c);

)

)

15.

abstractclassV1{

abstractintabc();

)

classElextendsVl{

intabc(){

return1;

)

)

classHl{

publicstaticvoidmain(String[]s){

Elel=newEl();

System.out.println(el.abc());

)

)

16.

classH2{

voidex(int[]y){

for(intI=O;I<y.length;I++)

y[i]=y[i]+l;

)

)

classHl{

publicstaticvoidmain(String[]s){

int[]x={1,2,3,4};

for(intI=O;I<x.length;I++)

System.out.print(x[i]+"");

System.out.println();

H2h=newH2;

h.ex(x);

for(intI=O;I<x.length;I++)

System.out.print(x[i]+"");

)

)

17.

classVI{

inta=l;

)

classElextendsVl{

intb=2,c;

voidml(){

c=a+b;

System.out.println(c);

)

)

classHl{

publicstaticvoidmain(String[]s){

El.el=newEl();

El.ma();

)

)

18.

classVI{

inta=l;

)

classElextendsV1{

inta=30,b=20,c;

voidml(){

c=a+b;

System.out.println(c);

)

classHl{

publicstaticvoidmain(String[]s){

Elel=newEl();

)

19.

classV1{

inta=l;

voidml(){

System.out.println("El.m2");

)

classHl{

publicstaticvoidmain(String[]s){

El.el=newEl();

El.ml();

El.m2();

20.

classV1{

VI()(

System.out.println(44V1");

}

classV2extendsVI{

V2(){

System,out.println(t4V2”);

)

classV3extendsV2{

V3(){

System.out.println("V3”);

)

classHl{

publicstaticvoidmain(String[]s){

V3el=newV3();

第五部分程序设计

1.

编写一个字符界面的javaApplication程序,输出1〜9中除6以外所有偶数的平方值(即2、

4、8的平方值)。

注:要求使用循环

2.

编写一个字符界面的javaApplication程序,使用你熟悉的方法对数组

a[]={20,10,50,40,30,70,60,80,90,100}进行由大到小的排序。

3.

编写一个字符界面的javaApplication程序,输出所有的水仙花数。

注:水仙花数是一个3位数,它的各位数字的立方和等于这个3位数自身,如:153=12+53+33

则153是水仙花数。

4.

编写一个字符界面的javaApplication程序,输出Fibonacci序列的前20项。

注:Fibonaci序列定义如下:

第1个数为0

第2个数为1

从第3个数开始,每个数是前两个数之和。

如:011235813.......

5.

设有如下类定义:

publicclassArray{

staticinta[]=newint[5];

intn=5;

①添加构造方法。对数组元素初始化

②设计一个对数组a中各元素求和的方法sum,添加到类Array中

6.

创建一个Fraction类执行分数运算,要求如下:

①用整型数表示类的private成员变量:fl和f2。

②提供构造方法,将分子存入fl,分母存入f2。

③提供两个分数相加的运算方法,结果的分子存入fl,结果的分母存入f2。

④编写主控程序,实现分数相加运算。

7.

设类Rectangle定义如下:

publicclassRectangle{

staticintwidth,height;

在类Rectangle中添加两个方法,方法girth计算矩形周长,方法计算矩形area面积。

8.

编写一个日期类Date,要求:

①日期类Date属性有:

year(int型,代表年)、month(int型代表月)、day(int型,代表日)

②日期类Date的方法有:

Date():构造函数,日期默认初值为2000年1月1日。

Date(inty,intm,intd);构造函数y、m>d分别代表年,月,日。

IntGetyear():获取日期的年份作为方法的返回值。

IntGetMonth():获取日期的月份作为方法的返回值。

IntGetDay():获取日期的日作为方法的返回值。

VoidShowDate();以''****年**月**日''的形式显示一个日期,如:2001年8月13日。

9.

编写程序,完成文件复制功能。

10.

设计一个Applet小程序,使其可以进行简单的加法运算。

Java语言程序设计期末复习综合练习题(带答案)

一、选择题。

2.main方法是JavaApplication程序执行的入口点,关于main方法的方法头以下哪项

是合法的()?

A、publicstaticvoidmain()

B、publicstaticvoidmain(Stringargs[])

C、publicstaticintmain(String[]arg)

D、publicvoidmain(Stringarg[])

答:B

4.下列哪个是合法的Java标识符?()

A、Tree&GlassesB、FirstJavaApplet

C、_$theLastOneD、273.5

答:B、C

5.JavaApplication源程序的主类是指包含有()方法的类。

A、main方法toString方法

C、init方法D、actionPerfromed方法

答:A

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

位。

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

答:B

7.设a=8,则表达式a»>2的值是()。

A、1B、2C、3D、4

答:B

8.若a的值为3时,下列程序段被执行后,c的值是多少?()

c=1;

if(a>0)if(a>3)c=2;elsec=3;elsec=4;

A、1B、2C、3D、4

答:C

9.在编写JavaApplication程序时,若需要使用到标准输入输出语句,必须在程序的开

头写上()语句。

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

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

答:C

10.对于构造函数,下列叙述正确的是()o

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

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

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

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

答:ACD

11.下面的是关于类及其修饰符的一些描述,正确的是:()o

A、abstract类只能用来派生子类,不能用来创建abstract类的对象。

B、final类不但可以用来派生子类,也可以用来创建final类的对象。

C、abstract不能与final同时修饰一个类。

D、abstract方法必须在abstract类中声明,但abstract类定义中可以没

有abstract方法。

答:ACD

13.若在某一个类定义中定义有如下的方法:abstractvoidperformDial();

该方法属于()。

A、本地方法B、最终方法C、解态方法D、抽象方法

答:D

14.下列关于静态初始化器的叙述中,哪一个是正确的?()

A、静态初始化器是在构造函数之前加上static修饰符。

B、静态初始化器是对类自身进行初始化。

C、静态初始化器在同一个类中只能有一个。

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

答:BD

15.不使用static修饰符限定的方法称为对象(或实例)方法,下列哪一个说法是正确

的?(

A、实例方法可以直接调用父类的实例方法。

B、实例方法可以直接调用父类的类方法。

C、实例方法可以直接调用其他类的实例方法。

D、实例方法可以直接调用本类的类方法。

答:BD

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

classPerson{classStudentextendsPerson{

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

Stringname;//姓名intgetScore(){

returnscore;

问:类Person和类Student的关系是()o

A、包含关系B、继承关系

C、关联关系D、无关系,上述类定义有语法错误

答:B、

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

classAA{

voidShow(){System.out.printin("我喜欢Java!");

}

classBBextendsAA{

voidShow(){System.out.printin("我喜欢C++!”);

)

则顺序执行如下语句后输出结果为:()

AAa;BBb;

a.Show();b.Show();

A、我喜欢Java!B、我喜欢C++!

我喜欢C++!我喜欢Java!

C、我喜欢Java!D、我喜欢C++!

我喜欢Java!我喜欢C++!

答:A

19.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型

或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为()。

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

答:C

20.对于构造函数,下列叙述正确的是()。

A、构造函数也允许重载。

B、子类无条件地继承父类的无参构造函数。

C、子类不允许调用父类的构造函数。

D、在同一个类中定义的重载构造函数可以相互调用。

答:ABD

22.设有下面两个赋值语句:

a=Integer.parselnt(u1024v);

b=Integer.valueOf("1024").intValue();

下述说法正确的是()o

A、a是整数类型变量,b是整数类对象。

B、a是整数类对象,b是整数类型变量。

C、a和b都是整数类对象并且它们的值相等。

D、a和b都是整数类型变量并且它们的值相等。

答:D

24.下面的语句的作用是:()。

VectorMyVector=newVector(100,50);

A、创建一个数组类对象MyVector,有100个元素的空间,每个元素的初值为50o

B、创建一个向量类对象MyVector,有100个元素的空间,每个元素的初值为50。

C、创建一个数组类对象MyVector,有100个元素的空间,若空间使用完时,以50

个元素空间单位递增。

D、创建一个向量类对象MyVector,有100个元素的空间,若空间使用完时,以50

个元素空间单位递增。

答:D

25.在Java中,存放字符串常量的对象属于()类对象。

A、CharacterB、String

C、StringBufferD、Vector

答:B

31.对于子类的构造函数说明,下列叙述中不正确的是()。

A、子类无条件地继承父类的无参构造函数。

B、子类可以在自己的构造函数中使用super关键字来调用父类的含参数构造函

数,但这个调用语句必须是子类构造函数的第一个可执行语句。

C、在创建子类的对象时,将先执行继承自父类的无参构造函数,然后再执行

自己的构造函数。

D、子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。

答:D

二、填空题。

2.设x=2,则表达式(x++)*3的值是□

答:6

3.若x=5,y=10,则x>y和x<=y的逻辑值分别为和。

答:false、true

4.顺序执行以下两个语句的输出结果是:o

Strings="我喜欢学习Java!^^;

System.out.println(s.length());

答:10

5.据程序的构成和运行环境的不同,Java源程序分为两大类:程

序和程序O

答:JavaApplication、JavaApplet(或Application>Applet)

6.如果一个Java源程序文件中定义有4个类,则使用Sun公司的JDK编译器javac编

译该源程序文件将产生______个文件名与类名相同而扩展名为的字节码文件。

答:4、class

7.开发与运行Java程序需要经过的三个主要步骤为、

和O

答:编辑源程序、编译生成字节码、解释运行字节码

9.一个JavaApplication源程序文件名为MyJavaApplication.java,如果使用Sun公司

的Java开发工具JDK编译该源程序文件并使用其虚拟机运算这个程序的字节码文件,应该

顺序执行如下两个命令:

答:javacMyJavaApplication.java、javaMyJavaApplication

10.在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码字符占

用字节内存空间,这样,无论是中文字符还是英文字符,每个都是占用

字节内存空间。

答:2、2

11.在Java程序中定义的类有两种成员:、。

答:域成员、方法成员

13.创建一个名为MyPackage的包的语句是,

该语句应该放在程序的位置为:。

答:packageMyPackage;应该在程序第一句。

14.方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须

在抽象类之中定义。方法是不能被当前类的子类重新定义的方法。

答:抽象方法、最终方法(或abstract方法、final方法)

15.形式参数指的是方法被时的参数行,实际参数是方法被

时所传递进去的变量或值。

答:定义、调用

16.多态是指,在Java中有

两种多态,一种是使用方法的实现多态,另一种是使用方法的实

现多态。

答:一个程序中有多个同名的不同方法覆盖重载

17.在Java程序中,通过类的定义只能实现_________重继承,但通过接口的定义可

以实现_____________重继承关系。

答:单、多

19.字符串分为两大类,一类是字符串常量,使用类的对象表示;另一

类是字符串变量,使用类的对象表示。

答:String、StringBuffer

20.设有数组定义:intMyIntArray[]={10,20,30,40,50,60,70,80,90,100};

则执行以下几个语句后的输出结果是。

ints=0;

for(inti=0;i<MylntArray.length;i++)

s+=MyIntArray[i];

System.out.println(s);

答:550

三、写出下列程序完成的功能。

1.publicclassSum

{publicstaticvoidmain(Stringargs[])

{doublesum=0.0;

for(inti=1;i<=100;i++)

sum+=1.0/(double)i;

System.out.println(,,sum=,'+sum);

)

)

答:计算1/1+1/2+1/3+...+1/100的值。

2.importjava.io.*;

publicclassReverse

{publicstaticvoidmain(Stringargs[])

{inti,n=10;

inta[]=newint[10];

for(i=0;i<n;i++)

try(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论