Java程序设计第14章练习题参考答案.docx

上传人:b****1 文档编号:17653842 上传时间:2023-04-24 格式:DOCX 页数:33 大小:29.66KB
下载 相关 举报
Java程序设计第14章练习题参考答案.docx_第1页
第1页 / 共33页
Java程序设计第14章练习题参考答案.docx_第2页
第2页 / 共33页
Java程序设计第14章练习题参考答案.docx_第3页
第3页 / 共33页
Java程序设计第14章练习题参考答案.docx_第4页
第4页 / 共33页
Java程序设计第14章练习题参考答案.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

Java程序设计第14章练习题参考答案.docx

《Java程序设计第14章练习题参考答案.docx》由会员分享,可在线阅读,更多相关《Java程序设计第14章练习题参考答案.docx(33页珍藏版)》请在冰豆网上搜索。

Java程序设计第14章练习题参考答案.docx

Java程序设计第14章练习题参考答案

一、选择题

1.下面供选字符序列中,不属于Java语言关键字的是(A)

A.gotoB.nullC.falseD.native

2.以下是关于Java语言关键字的叙述,其中正确的是(C)

A.关键字可以用来描述类的成员类型,但是不能描述普通变量

B.关键字由字母(包括英文字母、下划线字符、美元字符、文字字符)和数字组成

C.关键字不可以用作变量、方法、类或标号的标识符

D.break和main都是Java语言的关键字

3.下述字符组合不能作为Java程序标识符的是(D)

A.Aa12B.X

C.yD.5x

4.在下述字符串中,不属于Java语言关键字的是(C)

A.floatB.new

C.javaD.return

5.下列字符组合不能作为Java整型常量的是(A)

A.078B.0x3ACB

C.5000D.0x3ABC

6.设有如下程序:

publicclassTest{

publicstaticvoidmain(String[]args){

Stringfoo=args[1];

Stringbar=args[2];

Stringbaz=args[3];

System.out.println("baz="+baz);

}

}

下述哪一行命令可以使得执行该程序的输出为baz=2(C)

A)javaTest2222B)javaTest1234

C)javaTest4242D)javaTest4321

7.在Java语言中,int类型数据的长度是(C)

A.1个字节B.2个字节

C.4个字节D.8个字节

8.用Java虚拟机执行类名为Hello的应用程序的正确命令是(D)。

A)javaHello.classB)Hello.classC)javaHello.javaD)javaHello

9.执行以下代码,输出结果是(B)

intx=5,y=7,u=9,v=6;

System.out.println(x>y?

x+2:

u>v?

u-3:

v+2);

A.8B.6

C.7D.true

10.下列修饰符中与访问控制无关的是(C)。

A)publicB)protectedC)finalD)private

11.以下程序代码的输出结果是(A)

intx=73;System.out.println(x>>1);

A.36B.36.5

C.37D.true

12.应用程序的main方法中有以下语句,则输出的结果是(B)。

Strings="12345#67890#123#fgh";

intm=s.indexOf("#");

Strings2=s.substring(m+1);

System.out.println(s2);

A)12345B)67890#123#fghC)123D)fgh

13.Java语言中,在类定义时用final关键字修饰,是指这个类(A)

A.不能被继承B.在子类的方法中不能被调用

C.能被别的程序自由调用D.不能被子类的方法覆盖

14.以下是关于字符串运算的代码,执行该代码段的输出结果是(B)

Strings="0123456789″,sl,s2;

sl=s.substring

(2);s2=s.substring(2,5);System.out.println(s1+s2);

A.0122345B.234567892345

C.012234D.23456789234

15.参照以下Java代码,以下四个叙述中最确切的是(B)

classA{

intx;staticinty;

voidfac(Strings){Syatem.out.println("字符串:

"+s);}

}

A.x、y和s都是成员变量

B.x是实例变量、y是类变量、s是局部变量

C.x和y是实例变量、s是参数

D.x、y和s都是实例变量

16.关于对象成员占用内存的说法哪个正确?

(B)

A)同一个类的对象共用同一段内存

B)同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间

C)对象的方法不占用内存

D)以上都不对

17.关于方法main()的说法哪个正确?

(C)

A)方法main()只能放在公共类中

B)main()的头定义可以根据情况任意更改

C)一个类中可以没有main()方法

D)所有对象的创建都必须放在main()方法中

18.以下程序代码的输出结果是(B)

intx=10;

while(x>7)

{System.out.print("*");x--;}

A.**B.***C.*D.****

19.设类U声明,及对象u和v的定义如下:

classU{

intx,inty;

U(inta,intb){x=a;y=b;}

voidcopy(Ua){x=a.x;y=a.y;}

}

Uu=newU(1,2),v=newU(2,3);

在以下供选择的代码中,可能引起系统回收内存的是(B)

A.u.x=v.y;u.y=v.x;B.u=v;

C.u.copy(v);D.v.copy(u);

20.设有以下代码:

Stringsl="123";

Strings2="123";

Strings3=newString("123");

则表达式s1==s2和s1==s3的值分别是(C)

A.true,trueB.false,false

C.true,falseD.false,true

21.在以下供选择的概念中,不属于面向对象语言概念的是(B)

A.消息B.模块

C.继承D.多态性

22.应用程序的main方法中有以下语句,则执行后输出的结果是(D)。

int[]x={125,21,5,168,98};

intmax=x[0];

for(inti=1;i

{if(x[i]>max)

max=x[i];

}

System.out.println(max);

A)125B)5C)21D)168

23.在下述Java语言语句中,错误的创建数组的方法是(A)

A.intintArray[];intArray=newint[5];

B.intintArray[]=newint[5];

C.int[]intArray={1,2,3,4,5};

D.intintArray[5]={1,2,3,4.5};

24.应用程序的main方法中有以下语句,则输出的结果是(A)。

Strings1="0.5",s2="12";

doublex=Double.parseDouble(s1);

inty=Integer.parseInt(s2);

System.out.println(x+y);

A)12.5B)0.512C)“0.512”D)“12.5”

25.构造函数何时被调用?

(B)

A)类定义时B)创建对象时

C)使用对象的方法时D)使用对象的属性时

26.关于继承的说法正确的是:

(D)

A)子类将继承父类所有的属性和方法。

B)子类只继承父类的方法,而不继承属性

C)子类只继承父类public方法和属性

D)子类将继承父类的非私有属性和方法。

27.关于接口哪个正确?

(D)

A)一个类只能实现一个接口

B)接口间不能有继承关系

C)接口和抽象类是同一回事

D)实现一个接口的非抽象类必须实现接口的所有方法

28.以下关于接口的叙述中,正确的是(D)

A.所有的接口都是公共接口,可被所有的类和接口使用

B.一个类通过使用关键字interface声明自己使用一个或多个接口

C.接口中所有的变量都默认为publicabstract属性

D.接口体中不提供方法的实现

29.以下代码段的输出结果是(A)

Strings="JavaWorld";System.out.print(s.indexOf("a",4));

A.-1B.OC.1D.4

30.Java语言中,只限子类或者同一包中的类的方法能访问的访问权限是(D)

A.publicB.private

C.protectedD.<无修饰>

31.设有数组定义int[][]x={{1,2},{3,4,5},{6},{}};,则x.length的值为(B)

A.3B.4C.6D.7

32.若需要定义一个类变量或类方法,应使用哪种修饰符?

(A)

A)staticB)packageC)privateD)public

33.若有下面程序

for(intk=1;k<=5;k++)

{if(k>4)break;

System.out.print(k);

}

请问最后的输出结果是(A)

A)1234B)1C)2D)12345

34、在Java中负责对字节代码解释执行的是(B)

A)垃圾回收器

B)虚拟机

C)编译器

D)多线程机制

35、java源程序编译生成的字节码文件不是直接运行在操作系统平台上的,而是在(B)上运行的。

A)网页B)java虚拟机C)java编译器Djava编辑器

36、下面叙述正确的是(A)

A)Java语言的标识符是区分大小写的

B)源文件名和public类名可以不相同

C)源文件名其扩展名为.jar

D)源文件中其public类的数目不限

37、java语言是一种(D)

A)机器语言B)汇编语言C)面向过程语言D)面向对象语言

38、请问下面哪一个表达式是求x、y、z三个整型变量中的最大值的表达式(A)

A)(x>y?

x:

y)>z?

(x>y?

x:

y):

z

B)(x>y?

x:

y)>z ?

x:

z

C)(x>y)&&(x>z)

D)x>(y

y:

z)?

x:

(y

y:

z)

39、下面属于合法标识符的是(A)

A)_cat

B)5file

C)static

D)abc-3

40、下列哪个选项不是Java语言的注释符号(D)

A、//B、/**/C、/***/D、!

41、类Example定义如下:

1.publicclassExample{

2.publicfloataMethod(floata,floatb){}

3.

4.}

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

(B)

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

B、publicfloataMethod(floatc,floatd){}

B、publicintaMethod(inta,intb){}

C、privatefloataMethod(inta,intb,intc){}

42、编译Java程序的命令是(C)

D、A、javaB、javadocC、javacD、cd

43、下列哪个类声明是正确的(D)

A)abstractfinalclassCar{···}

B)abstractprivatever(){···}

C)publicprivatenumber;

D)publicabstractclassCar{···}

44、下面那个不是Java中的关键字(C).

A)abstractB)whileC)nameD)static

45、若在某一个类定义中定义有如下的方法:

finalvoidperformDial();

该方法属于(D)。

A)本地方法

B)抽象方法

C)解态方法

D)最终方法

46、下面关于继承说法正确的是(B)。

A)子类只继承父类public方法和属性

B)子类继承父类的非私有属性和方法

C)子类只继承父类的方法而不继承属性

D)子类将继承父类的所有属性和方法

47、应用程序的main方法中有以下语句,则输出的结果是(A)。

int[]x={122,33,55,678,-987};

intmax=x[0];

for(inti=1;i

if(x[i]>max)

max=x[i];

}

System.out.println(max);

A)678B)122C)-987D)33

48、以下代码段执行后的输出结果为(B)

intx=3;inty=10;

System.out.println(y%x);

A)0B)1C)2D)3

49、对于位运算^(“异或”运算),6^2的二进制结果为(B)

A)0000B)0100C)1111D)0110

50、下列哪个选项是Java的输出语句(A)

A、System.out.println();B、Out.system.print();

C、System.println.out();D、print.system.out();

51、执行完以下代码int[]x=newint[25];后,以下哪项说明是正确的(A)

A)x[24]为0B)x[24]未定义C)x[25]为0D)x[0]为空

52、下列哪项不是Java合法的标识符(D)

A、$weiB、123C、F117D、girl_boy

53、关于一个类中被private修饰的私有成员变量,以下说法正确的是(C)

A)可以被三种类所引用:

该类自身、与它在同一个包中的其他类、在其他包中的该类的子类

B)可以被两种类访问和引用:

该类本身、该类的所有子类

C)只能被该类自身所访问和修改

D)只能被同一个包中的类访问

54、下面定义数组的语句错误的是(D)

A、String[]str;B、Stringstr[];

C、char[][]str;D、charstr;

55、以下代码段将创建(C)个对象。

Stringstr1="hello";

Stringstr2="hello";

A)0B)1C)2D)3

56、下列哪个选项是Java的主方法(C)

A)publicstaticmain(Stringargs[])B)privatestaticvoidmain(Stringargs[])

C)publicstaticvoidmain(Stringargs[])D)privatestaticmain(String[]args)

57、main方法是JavaApplication程序执行的入口点,关于main方法的方法头以下哪项是合法的(B)?

A)publicstaticvoidmain()

B)publicstaticvoidmain(Stringargs[])

C)publicstaticintmain(String[]arg)

D)publicvoidmain(Stringarg[])

58、下列类的继承哪个是正确的(A)

A)classAppleextendsFruitB)classApple

C)classAppleFruitD)appleextendsFruit

59、JavaApplication源程序的主类是指包含有(A)方法的类。

A)main方法B)toString方法C)init方法D)actionPerfromed方法

60、下列哪个选项不是正确的for语句的形式(C)

A)for(;;)B)for(inti=0;i<10;i++)C)for(inti=0,i<10,i++)D)for(inti=0;;i++)

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

A)javaB)classC)htmlD)exe

62.下面哪个说法不正确(D)?

A)如果某公共的接口被声明在一个源文件中,则接口必须与源文件具有相同的名字。

B)Java应用程序源文件中必须有且仅有一个public类。

C)如果某源文件包含package语句,则该语句必须是第一个非空、非注释行。

D)接口中的方法必定是抽象方法,但可以不用关键字abstract修饰。

二、填空题

1.Java源文件的扩展名是_java__。

2.Java的编译程序先将Java源程序翻译成与机器无关的字节码文件。

3.Java程序的字节码文件的扩展名是_.class__。

4.一个应用程序必须在某个类中定义的方法是_main_。

5.一个小应用程序必须定义成一个_Applet类的子类_。

6.Java语言采用多种机制来保证可移植性,其中最主要的是_平台无关_。

7.import语句的格式是__import包名.类名;。

8.程序包声明的格式是_package包名;。

9.用条件运算符构造一个表达式:

goal等于10时,表达式的值为“对了!

”,否则,表达式的值为“错了!

”。

这个表达式是_goal==10?

"对了!

":

"错了!

"。

10.构造一个Java表达式:

y/x>5,并且x!

=0。

这个表达式是_x!

=0&&y/x>5_。

11.表达式-4>>l的十进制值是___-2______。

12.表达式¨23&18’’的值是___18___。

13.在定义成员变量时,用关键字__static__修饰的是类变量。

14.如果类A某个成员变量的类型是类B,则类A和类B之间是_类A包含有类B_关系。

15.在类声明之前用_final_修饰,声明类是不能被再继承的类,即它不能再有子类。

16.在面向对象语言中,对象之间的交互通过_互相发送消息_实现。

17.类是对一组相同对象的描述,类概括了同类对象的共有性质:

_属性和方法。

18.当联编推迟至运行时间实现时,该联编过程称为_动态联编_。

19.布尔类型数组元素的默认初值是__false_。

20.Java语言提供了两个用于处理字符串的类,它们是_StringBuffer和StringBuilder_。

21.设有字符串定义:

Strings="ABCDABCD";

则表达式s.indexOf("B")的值是_1__。

22.设有两个字符串对象str1和str2,则表达式“strl==str2”的意义是判别字符串strl和str2_是否引用相同对象_。

23.设有数组a和b的定义如下:

int[]a={1,2,3};int[]b={4,5,6}

……

执行以下代码“a=b;”,除了完成赋值操作之外,引起系统额外要做的工作是_回收内存_。

24.使用默认字节字符对应表,将字符串转化为字节数组的方法是_strInput.getBytes();_。

25.若x=5,y=10,则x=y的逻辑值分别为true和_false

26、创建类的对象时,使用运算符__new_给对象分配内存空间。

27、一个__构造方法_是一个特殊的方法,用于初始化一个类的对象,它的名称必须与_类名_相同,并且方法定义前不能加任何的修饰符。

28、定义类的构造方法不能有_返回值类型,其名称与类名相同。

29、、若有定义:

float[]b={1.1f,3.5f,6.8f};,则b.length()的值是__3_。

30、Java语言中关键字_float表示单精度类型,__boolean__代表布尔类型。

31、定义一个长度为10的一维整型数组array的方法为int[]array=_newint[10];_。

32、安装完JDK后一般要设置的两个环境变量是__path__和_classpath__。

33.如果定义了一个名称为persons、长度为100的数组,则其第一个元素表示为_persons[0]_,第36个元素表示为__persons[35]__。

34、若有类定义:

classclassBextendsclassA{

}

则类classA是类classB的__父类__。

35、接口中的成员只有_常量_和_抽象方法_。

36.Java语言中关键字_double表示双精度类型。

37、在类中使用关键字_this_指代当前对象。

38.在Java的基本数据类型中,字符型采用_unicode_编码方案,每个字符占用2字节内存空间。

39、关键字__package__用于自定义包。

40.一个类实现一个接口使用的关键字是__implements__。

41.在子类中使用关键字_super_做前缀可调用被子类覆盖的父类中的方法。

42、书写一个语句完成以下要求:

先将整型变量a的值加1,再把它加入到变量sum中。

sum=++a;。

43.关键字_import__用于导入包中的类到程序中,供程序中使用。

44、设x=2,则表达式(x++)/3的值是0。

45.如果一个方法没有返回值,则该方法返回值类型为__void__。

46、在面向对象概念中,每个对象都是由_属性__和__方法__两个最基本的部分组成的。

47、书写一个语句完成以下要求:

若输入数据input是合法的秒数(在0到60之间),则赋给变量second,否则将-1赋给second。

Second=(input>0&&input<60?

input:

-1)

48.Java程序的字节码文件的扩展名是_class__。

49.接口的访问权限是public或默认。

50.在类声明之前用__final__修饰,声明类是不能被再继承的类,即它不能再有子类。

51.若有定义:

int[]b={1,3,6};,则b.length()的值是__3__。

52.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用__16_个比特位。

53.如果要使用其他包中的类,必须用import语句导入。

54.抽象方法方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。

最终方法是不能被当前类的子类重新定义的方法。

55.Java源文件中最多只能有_1__个公共类,其它类的个数不限。

三、简答题

1.什么是Java虚拟机?

什么是Java平台无关性?

2.什么是接口?

Java中定义接口有什么作用。

3.请写出在类的方法的定义之前,加上修饰字public、private的区别。

4.以下代码定义了一个类,请指出其中三条不合法的代码行(行号参见注释)。

class

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

当前位置:首页 > 农林牧渔 > 林学

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

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