《Java语言程序的设计基础教程》习题解答.docx

上传人:b****5 文档编号:5782143 上传时间:2023-01-01 格式:DOCX 页数:23 大小:27.42KB
下载 相关 举报
《Java语言程序的设计基础教程》习题解答.docx_第1页
第1页 / 共23页
《Java语言程序的设计基础教程》习题解答.docx_第2页
第2页 / 共23页
《Java语言程序的设计基础教程》习题解答.docx_第3页
第3页 / 共23页
《Java语言程序的设计基础教程》习题解答.docx_第4页
第4页 / 共23页
《Java语言程序的设计基础教程》习题解答.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

《Java语言程序的设计基础教程》习题解答.docx

《《Java语言程序的设计基础教程》习题解答.docx》由会员分享,可在线阅读,更多相关《《Java语言程序的设计基础教程》习题解答.docx(23页珍藏版)》请在冰豆网上搜索。

《Java语言程序的设计基础教程》习题解答.docx

《Java语言程序的设计基础教程》习题解答

《Java语言程序设计基础教程》

练习思考题参考答案

第1章Java程序设计概述

1.9练习思考题

1、Java运行平台包括三个版本,请选择正确的三项:

()

A.J2EEB.J2ME

C.J2SED.J2E

解答:

A,B,C

2、JavaJDK中反编译工具是:

()

A.javacB.java

C.jdbD.javap

解答:

D

3、publicstaticvoidmain方法的参数描述是:

()

A.Stringargs[]B.String[]args

C.Stringsargs[]D.Stringargs

解答:

A,B

4、在Java中,关于CLASSPATH环境变量的说法不正确的是:

()

A.CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。

B.编译器用它来搜索各自的类文件。

C.CLASSPATH是一个目录列表。

D.解释器用它来搜索各自的类文件。

解答:

A

5、编译JavaApplication源文件将产生相应的字节码文件,扩展名为()

A..javaB..class

C..htmlD..exe

解答:

B

6、开发与运行Java程序需要经过的三个主要步骤为____________、____________和____________。

7、如果一个JavaApplet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是______类的子类并且存储该源程序文件的文件名为______。

8、如果一个JavaApplet程序文件中定义有3个类,则使用Sun公司的JDK编译器编译该源程序文件将产生______个文件名与类名相同而扩展名为______的字节码文件。

9、开发与运行Java程序需要经过哪些主要步骤和过程?

10、Java程序是由什么组成的?

一个程序中必须要有public类吗?

Java源文件的命名规则是怎么样的?

11、编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:

“你好,很高兴学习Java”和“Wearestudents”。

第2章Java基本的程序设计结构

2.7练习思考题

1、从下面选项中,选择三个有效的标示符:

()

A.IDoLikeTheLongNameClassB.$byte

C.constD._ok

E.3_case

解答:

A,B,D

2、下面哪一项在java中是非法的标识符?

()

A.$user

B.point

C.You&me

D._endline

解答:

3、下列不属于Java保留字的是:

()

A.sizeof

B.super

C.abstract

D.break

解答:

A

4、下面哪些java语句会导致无限循环?

()

I、while(true)i=0;

II、while(false)i=1;

III、while(!

false)i=0;

A、仅仅III

B、I和III

C、仅仅I

D、I,II和III

解答:

B

5、下列整型数据类型中,需要存空间最少的是()。

A.shortB.long

C.intD.byte

解答:

D

6、下面代码执行后,正确的输出结果是:

(  )

publicclassExample{

publicstaticvoidmain(Stringargs[]){

intl=0;

do{

System.out.println("Doingitforlis:

"+l);

}while(--l>0);

System.out.println("Finish");

}

}

A.Doingitforlis3

B.Doingitforlis1

C.Doingitforlis2

D.Doingitforlis0

E.Doingitforlis?

C1

F.Finish

解答:

D,F

7、若有定义inta=1,b=2;那么表达式(a++)+(++b)的值是:

()

A.3B.4

C.5D.6

解答:

B

8、若有定义inta=9,b=6;那么a>b的值是:

()

A.0B.1

C.falseD.true

解答:

D

9、假定有变量定义:

intk=7,x=12;那么能使值为3的表达式是:

(   )

A.x%=(k%=5)B.x%=(k-k%5)

C.x%=k-k%5D.(x%=k)-(k%=5)

解答:

D

10、执行完以下代码int[]x=newint[25];后,以下说明正确的是:

()

A.x[24]为0B.x[24]未定义

C.x[25]为0D.x[0]为空

解答:

A

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

int[]x={2,3,-8,7,9};

intmax=x[0];

for(inti=1;i

if(x[i]>max)

max=x[i];

}

System.out.println(max);

A.2B.-8

C.7D.9

解答:

12、设x=1,y=2,z=3,则表达式y+=z--/++x的值是()

A.3B.3.5

C.4D.5

解答:

A

13、有整型数组:

int[]x={2,33,88,5,10};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是?

()

A.88331052

B.25103388

C.88102335

D.53321088

解答:

14、下列语句有错误的是:

()

A.int[]a;B.int[]b=newint[10];

C.intc[]=newint[];D.intd[]=null;

解答:

C

15、下列语句有错误的是:

()

A.inta[][]=newint[5][5];B.int[][]b=newint[5][5];

C.int[]c[]=newint[5][5];D.int[][]d=newint[5,5];

解答:

D

16、关于下面的程序,正确的结论是______。

publicclassex4_7{

publicstaticvoidmain(Stringargs[]){

inta[]=newint[5];

booleanb[]=newboolean[5];

System.out.print(a[1]);

System.out.println(b[2]);

}

}

A.运行结果为0falseB.运行结果为1true

C.程序无法通过编译D.可以通过编译但结果不确定

解答:

A

17、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用______字节存空间,这样,无论是中文字符还是英文字符,都是占用______字节存空间。

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

19、若x=5,y=10,则x=y的逻辑值分别为______和______。

20、设有数组定义:

intMyIntArray[]={10,20,30,40,50,60,70};

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

intMyIntArray[]={10,20,30,40,50,60,70};

ints=0;

for(inti=0;i

if(i%2==1)

s+=MyIntArray[i];

System.out.println(s);

21、数组对象的长度在数组对象创建之后,就______改变。

数组元素的下标总是从______开始。

22、对于数组int[][]t={{1,2,3},{4,5,6}}来说,t.length等于______,t[0].length等于______。

23、已知数组a的定义为“inta[]={1,2,3,4,5};”,则a[2]=______,数组b的定义为“intb[]=newint[5];”,则b[2]=______,数组c的定义为“Object[]c=newObject[5];”,则c[2]=______。

24、调用数组元素时,用______和______来唯一确定数组中的元素。

25、什么是数组?

数组有哪些特点?

Java中创建数组需要哪些步骤?

如何访问数组的第一个元素?

26、编程计算10~20的整数的平方值,将结果保存在一个数组中。

27、编写一个程序使之从键盘读入10个整数存入整型数组a中,然后逆序输出这10个整数。

28、某人有53分和45分的邮票,请编写一个程序,计算由这些邮票中的1或若干可以得到多少种不同的邮资。

29、分析写出下列程序完成的功能。

publicclasssun{

publicstaticvoidmain(Stringargs[]){

doublesum=0.0;

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

sum+=1.0/(double)i;

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

}

}

30、编写一个字符界面的JavaApplication程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。

31、如果我国经济以每年10%的速度保持稳定增长,请编写一个程序,计算每年达到多少,多少年可以实现总量翻两番。

classexA4_1{

publicstaticvoidmain(Stringargs[]){

inta=0;

doublei=0.10,sum=1;

while(sum<=4){

sum=(i+1)*sum;

a++;

System.out.println("第"+a+"年达到"+sum);

}

System.out.println("需要"+a+"年实现两番");

}

}

 

第3章类和对象

3.9练习思考题

1、下列关于变量的叙述哪个是错的?

()

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

B.在方法中定义的局部变量在该方法被执行时创建。

C.实例变量用关键字static声明。

D.局部变量在使用前必须被初始化。

解答:

C

2、在Java语言中,下列哪个包是编译器自动导入的?

()

A.java.appletB.java.lang

C.java.ioD.java.awt

解答:

3、当类的成员未用访问权限修饰符时,Java认为此成员的访问权限为()。

A.privateB.protected

C.friendlyD.public

解答:

C

4、下面哪个关键字不是用来控制对类成员的访问的?

(     )

A.publicB.protected

C.defaultD.private

解答:

C

5、下面哪一个特性不是面向对象编程主要体现的()。

A.封装性B.继承

C.多态D.类

解答:

C

6、不允许作为类及类成员的访问控制符的是()。

A.publicB.private

C.staticD.protected

解答:

C

7、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()。

A、staticvoidmethod()B、publicvoidmethod()

C、finalvoidmethod()D、abstractvoidmethod()

解答:

A

8、可以在下面代码段pointx处写入的是?

()

//pointx

publicclassInteresting{

//dosomething

}

A.Stringstr;

B.staticintPI=3.14;

C.publicclassMyClass{//dootherthing…}

D.importjava.awt.*;

解答:

D

9、下列关于变量的叙述哪个是错的?

()

A、实例变量是类的成员变量。

B、在方法中定义的局部变量在该方法被执行时创建。

C、实例变量用关键字static声明。

D、局部变量在使用前必须被初始化。

解答:

C

10、下列哪个类声明是正确的?

()

A、abstractfinalclassHI{}

B、abstractprivatemove(){}

C、protectedprivatenumber;

D、publicabstractclassCar{}

解答:

D

11、已知A类被打包在packageA,B类被打包在packageB,且B类被声明为public,且有一个成员变量x被声明为protected控制方式。

C类也位于packageA包,且继承了B类。

则以下说确的是:

()

A、A类的实例不能访问到B类的实例

B、A类的实例能够访问到B类一个实例的x成员

C、C类的实例可以访问到B类一个实例的x成员

D、C类的实例不能访问到B类的实例

解答:

C

12、下列命题为真的是:

()

A、所有类都必须定义一个构造函数。

B、构造函数必须有返回值。

C、构造函数可以访问类的非静态成员。

D、构造函数必须初始化类的所有数据成员。

解答:

C

13、在Java中,关于final关键字的说确的是()

A、如果修饰变量,则一旦赋了值,就等同一个常量。

B、如果修饰类,则该类只能被一个子类继承。

C、如果修饰方法,则该方法不能在子类中被覆盖。

D、如果修饰方法,则该方法所在的类不能被继承。

解答:

A,C

14、在Java中,下面关于包的述中正确的是()

A、包的声明必须是源文件的第一句代码。

B、包的声明必须紧跟在import语句的后面。

C、只有公共类才能放在包中。

D、可以将多个源文件中的类放在同一个包中。

解答:

A,D

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

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

16、什么叫方法的重载?

构造方法可以重载么?

17、简述实例变量和类变量的区别。

第4章继承、接口和部类

4.5练习思考题

1、Java中用于定义接口的关键字是()

A、importB、package

C、classD、interface

解答:

D

2、以下关于abstract的说法,正确的是()

A、abstract只能修饰类

B、abstract只能修饰方法

C、abstract类中必须有abstract方法

D、abstarct方法所在的类必须用abstract修饰

解答:

D

3、下列哪种说法是正确的()

A、私有方法不能被子类覆盖。

B、子类可以覆盖超类中的任何方法。

C、覆盖方法可以声明自己抛出的异常多于那个被覆盖的方法。

D、覆盖方法中的参数清单必须是被覆盖方法参数清单的子集。

解答:

A

4、关于类继承的说法,正确的是()

A、Java类允许多重继承

B、Java接口允许多继承

C、接口和类都允许多继承

D、接口和类都不允许多继承

解答:

B

5、关于抽象类,正确的是______。

A.抽象类中不可以有非抽象方法

B.某个非抽象类的父类是抽象类,则这个子类必须重载父类的所有抽象方法

C.不能用抽象类去创建对象

D.接口和抽象类是同一个概念

解答:

B

6、下列哪个类是由编译器自动生成对象的特殊类,是用于类操作?

()

A、Class类

B、Thread类

C、System类

D、Object类

解答:

A

7、下面关于继承的哪些叙述是正确的。

()

A、在java中只允许单一继承。

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

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

D、java的单一继承使代码更可靠。

解答:

A,D

8、抽象类A和抽象类B的定义如下:

abstractclassex4_5_10_A{

abstractintgetinfo();

}

publicclassex4_5_10extendsex4_5_10_A{

privateinta=0;

publicintgetinfo(){

returna;

}

publicstaticvoidmain(Stringargs[]){

ex4_5_10b=newex4_5_10();

System.out.println(b.getinfo());

}

}

关于上述代码说明正确的是()。

A.输出结果为0B.通过编译但没有输出任何结果

C.第5行不能通过编译D.程序第2行不能通过编译

解答:

A

9、下面程序的运行结果是______

classex4_5_11_A{

protectedstaticintcount=0;

publicex4_5_11_A(){

count++;

}

}

classex4_5_11_Bextendsex4_5_11_A{

publicex4_5_11_B(){

count++;

}

}

classex4_5_11{

publicstaticvoidmain(Stringargs[]){

ex4_5_11_Bx=newex4_5_11_B();

System.out.println("count="+x.count);

}

}

A.count=1B.count=2

C.count=3D.count=4

解答:

B

10、设有下面两个类的定义:

classPerson

{longid;//号

Stringname;//

}

classStudentextendsPerson

{intscore;//入学总分

intgetScore(){

returnscore;

}

}

问:

类Person和类Student的关系是( )

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

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

解答:

B

10、对于接口的实现,不可以构造一个接口对象,但可以声明一个接口______。

11、在Java语言中所有的类都是直接或间接地继承______类而得到的。

12、在Java中一个父类可以有______个子类,一个类只能有______个直接父类。

13、什么是继承?

什么是多重继承和单继承?

Java采用何种机制来实现多重继承?

14、什么是隐藏?

什么是重写?

二者有何区别?

15、子类会继承父类的所有方法和属性么?

16、设计一个Student类,以一维数组存储一个班级的学生信息。

要求:

1)将Student设计成一个接口

2)自定义一个包来管理所设计的类

17、定义一个接口,该接口中只有一个抽象方法getClassName()。

设计一个类Horse,该类实现接口ClassName中的方法getClassName(),功能是获取该类的类名。

 

基础开发篇

第5章JavaAPI

5.9练习思考题

1、阅读下列代码后,正确的说法是(     )

publicclassPerson{

staticintarr[]=newint[10];

publicstaticvoidmain(Stringargs[]){

System.out.println(arr[1]);

}

}

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

C、输出零D、输出空

解答:

C

2、仔细分析下面程序,正确的输出结果是()

publicclassTest1{

publicstaticvoidchangeStr(Stringstr){

str="welcome";

}

publicstaticvoidmain(String[]args){

Stringstr="1234";

changeStr(str);

System.out.println(str);

}

}

A、welcomeB、welcome1234

C、1234D、1234welcome

解答:

C

3、Java语言中的一些常用的实用工具,如处理时间的Date类,处理变长数组的Vector类等,所在的包是()。

A、java.lang包B、java.io包

C、java.awt包D、java.util包

解答:

D

4、下面代码执行后,正确的输出结果是:

(  )

Strings1="Youarehired!

";

System.out.println(s1.replace('h','f'));//用f把字串中的h替换了

System.out.println(s1);

A.Youarefired!

B.Youarefired!

Youarehired!

Youarefired!

C.Youarehired!

D.Youarehired!

Youarehired!

Youarefired!

解答:

A

5、下面的程序段执行后输出的结果是()

StringBufferbuf=newStringBuffer("China2008");

buf.insert(5,"");

System.out.println(

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

当前位置:首页 > 总结汇报 > 其它

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

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