《Java2实用教程》课后习题参考答案第三版Word文档下载推荐.docx

上传人:b****4 文档编号:7202251 上传时间:2023-05-08 格式:DOCX 页数:86 大小:50.03KB
下载 相关 举报
《Java2实用教程》课后习题参考答案第三版Word文档下载推荐.docx_第1页
第1页 / 共86页
《Java2实用教程》课后习题参考答案第三版Word文档下载推荐.docx_第2页
第2页 / 共86页
《Java2实用教程》课后习题参考答案第三版Word文档下载推荐.docx_第3页
第3页 / 共86页
《Java2实用教程》课后习题参考答案第三版Word文档下载推荐.docx_第4页
第4页 / 共86页
《Java2实用教程》课后习题参考答案第三版Word文档下载推荐.docx_第5页
第5页 / 共86页
《Java2实用教程》课后习题参考答案第三版Word文档下载推荐.docx_第6页
第6页 / 共86页
《Java2实用教程》课后习题参考答案第三版Word文档下载推荐.docx_第7页
第7页 / 共86页
《Java2实用教程》课后习题参考答案第三版Word文档下载推荐.docx_第8页
第8页 / 共86页
《Java2实用教程》课后习题参考答案第三版Word文档下载推荐.docx_第9页
第9页 / 共86页
《Java2实用教程》课后习题参考答案第三版Word文档下载推荐.docx_第10页
第10页 / 共86页
《Java2实用教程》课后习题参考答案第三版Word文档下载推荐.docx_第11页
第11页 / 共86页
《Java2实用教程》课后习题参考答案第三版Word文档下载推荐.docx_第12页
第12页 / 共86页
《Java2实用教程》课后习题参考答案第三版Word文档下载推荐.docx_第13页
第13页 / 共86页
《Java2实用教程》课后习题参考答案第三版Word文档下载推荐.docx_第14页
第14页 / 共86页
《Java2实用教程》课后习题参考答案第三版Word文档下载推荐.docx_第15页
第15页 / 共86页
《Java2实用教程》课后习题参考答案第三版Word文档下载推荐.docx_第16页
第16页 / 共86页
《Java2实用教程》课后习题参考答案第三版Word文档下载推荐.docx_第17页
第17页 / 共86页
《Java2实用教程》课后习题参考答案第三版Word文档下载推荐.docx_第18页
第18页 / 共86页
《Java2实用教程》课后习题参考答案第三版Word文档下载推荐.docx_第19页
第19页 / 共86页
《Java2实用教程》课后习题参考答案第三版Word文档下载推荐.docx_第20页
第20页 / 共86页
亲,该文档总共86页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《Java2实用教程》课后习题参考答案第三版Word文档下载推荐.docx

《《Java2实用教程》课后习题参考答案第三版Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《《Java2实用教程》课后习题参考答案第三版Word文档下载推荐.docx(86页珍藏版)》请在冰点文库上搜索。

《Java2实用教程》课后习题参考答案第三版Word文档下载推荐.docx

以书中小应用程序为例进行说明:

①编写Java小应用程序源代码importjava.applet.*;

importjava.awt.*;

publicclassBoyextendsApplet

{

publicvoidpaint(Graphicsg)

g.setColor(Color.red);

g.drawString("

我一边喝着咖啡,一边学Java呢"

5,30);

g.setColor(Color.blue);

g.drawString("

我学得很认真"

10,50);

}

②将上述代码命名为Boy.java并进行编译得到Boy.class字节码文件;

将得到的字节码文件存放在

C:

\5000文件夹下;

③编写小应用程序的HTML源文件:

appletcode=Boy.classwdith=200height=300codebase=C:

\5000>

<

④将上述编写好的代码命名为Boy.html;

并将此文件存放在C:

\5000文件夹以外的任意一个文件夹中(如C:

\1000);

⑤运行Boy.html。

第2章标识符、关键字和数据类型

1.什么叫标识符?

标识符的规则是什么?

①用来标识类名、变量名、、方法名、类型名、数组名、文件名的有效字符序列。

②由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字字符,而且关键字不能作为标识符。

2.什么叫关键字?

请说出5个关键字。

①Java语言中已经被赋予特定意义的一些单词。

②classbreakpublicreturnstaticextends等。

3.Java的基本数据类型都是什么?

boolean(逻辑型)char(字符型)float、double(浮点型)byte、short、int、long(整型)。

4.下列哪些语句是错误的:

intx=8;

byteb=127;

b=x;

答:

b=x语句错误;

原因是高级别的变量赋值给低级别的变量时,一定要用显式转换即b=(byte)x;

5.下列程序的输出结果是什么?

publicclassE

publicstaticvoidmain(Stringargs[])

long[]a={1,2,3,4};

long[]b={100,200,300,400,500};

b=a;

System.out.println("

数组b的长度:

"

+b.length);

System.out.println("

b[0]="

+b[0]);

数组b的长度:

4b[0]=1

6.上机运行下列程序,注意观察输出结果。

for(inti=20302;

i<

20322;

i++)

System.out.println((char)i);

低住佐佑佒体佔何佖佗佘余佚佛作佝佞佟你佡

7.System.out.println(“你好”);

可输出字符串,也可以使用System.out.println()输出变量或表达式的值,只需使用并置符号“+”将变量、表达式或一个常数值与一个字符串并置即可,如:

System.out.println(“”+x);

System.out.println(“:

”+123+“大于”+122);

等。

上机调试下列程序,注意观察结果,特别注意System.out.print()和System.out.println()的区别。

publicclassOutputData

publicstaticvoidmain(Stringargs[])

 

}答:

234<

468

intx=234,y=432;

System.out.println(x+"

+(2*x));

System.out.print("

我输出结果后不回车"

);

我输出结果后自动回车到下一行"

x+y="

+(x+y));

System.out.println("

"

+x+y+"

=234432"

我输出结果后不回车我输出结果后自动回车到下一行

x+y=666

234432=234432

8.编写一个Java应用程序,输出全部的希腊字母。

答:

publicclassXLWords

publicstaticvoidmain(Stringargs[])

for(inti=913;

930;

System.out.print((char)i+"

for(intj=931;

j<

938;

j++)

System.out.print((char)j+"

for(intk=945;

k<

962;

k++)

System.out.print((char)k+"

for(intt=963;

t<

=969;

t++)

System.out.print((char)t+"

第3章运算符、表达式和语句

1.下列程序的输出结果是什么?

charx='

你'

y='

e'

z='

吃'

;

if(x>

'

A'

else

y='

爱'

z='

情'

我'

她'

System.out.println("

+x+y+z);

你爱她

2.下列程序的输出结果是什么?

publicclassE3

charc='

\0'

for(inti=1;

=4;

i++)

switch(i)

case1:

c='

b'

System.out.print(c);

case2:

break;

case3:

p'

default:

!

beep!

3.编写应用程序,求1!

+2!

+…+10!

classFact

intfact,sum=0;

=10;

fact=1;

for(intj=1;

=i;

fact*=j;

sum+=fact;

System.out.println("

1到10的阶乘之和是:

+sum);

4.编写一个应用程序,求100以内的全部素数。

classPrimes

intw=1;

for(inti=2;

=100;

for(intj=2;

i;

w=i%j;

if(w==0)break;

if(w!

=0)

System.out.println(i+"

是素数"

5.分别用do―while和for循环计算1+1/2!

+1/3!

+1/4!

+…的前20项和。

①for循环

classSum

intfact;

doublesum=0;

=20;

j++)fact*=j;

sum+=1.0/fact;

System.out.println(sum);

②do―while循环

inti=1;

intfact;

doublesum=0;

do

intj=0;

while(++j<

=i)

sum+=1.0/fact;

while(++i<

=20);

System.out.println(sum);

6.一个数如果恰好等于它的因子之和,这个数就称为“完数”。

编写应用程序,求1000之内的所有完数。

classWanshu

intx,i,sum;

for(x=1;

x<

=1000;

x++)

sum=0;

for(i=1;

x;

if(x%i==0)

sum+=i;

if(x==sum)System.out.println(x+"

是完数"

7.编写应用程序,分别使用while和for循环计算8+88+888+…前10项之和。

classTheSum

longsum=0,data=8;

sum=sum+data;

data=data*10+8;

②while循环

longsum=0,data=8,i=0;

=10)

8.编写应用程序,输出满足1+2+3+…+n<

8888的最大正整数n。

classMaxn

intk=1,sum=0;

while((sum+=k)<

8888)

k++;

k--;

最大能取到:

+k);

第4章类、对象和接口

1.类中的实例变量在什么时候会被分配内存空间?

当该类创建对象之后,实例变量才会被分配相应的内存空间。

2.什么叫方法的重载?

构造方法可以重载吗?

①一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,

或者是参数的类型不同(方法的重载体现了多态性,即功能多态性)。

②构造方法可以重载。

3.类中的实例方法可以操作类变量(static变量)吗?

类方法(static方法)可以操作实例变量吗?

①类中的实例方法可以操作类变量。

②类方法不可以操作实例变量

4.类中的实例方法可以用类名直接调用吗?

类中的实例方法不可以用类名直接调用。

5.举例说明protected方法和友好方法的区别。

当子类与父类不在同一个包中时,子类可以继承父类的protected方法;

而友好方法此时则不能被子类继承。

6.举例说明类变量和实例变量的区别。

⑴书写:

定义成员变量时,类变量有static修饰;

实例变量没有static修饰。

例:

classA

intx;

//实例变量

staticinty;

//类变量

⑵内存:

不创建对象,类的实例变量不会被分配内存空间;

类变量被分配相应的内存空间。

不同对象的实例变量被分配不同的内存空间;

不同对象的类变量被分配相同的内存空间。

任何一个对象改变类变量,其他对象的相应类变量也发生相应变化。

一个对象的实例变量发生改变,不影响其他对象的相应实例变量。

例:

执行语句:

A1.x=10;

A1.y=20;

这时A2.x的值也是10;

而A2.y的值保持原来的初值。

⑶使用:

类变量可以被类方法操作;

而实例变量不能被类方法操作。

例:

staticvoidfunc()

b=10;

//合法

a=20;

//非法

类变量可以通过类名访问;

实例变量不能通过类名访问。

classB

publicvoidfunc();

A.x=10;

//非法A.y=20;

7.子类将继承父类的哪些成员变量和方法?

子类在什么情况下隐藏父类的成员变量和方法?

在子类中是否允许有一个方法和父类的方法名字相同,而类型不同?

①子类和父类在同一个包中时,子类可以继承父类的除private属性的所有方法和成员变量,当子类与

父类不在同一个包中时,子类只能继承父类的protected和public属性的成员变量和方法。

②子类中定义的成员变量和父类中的成员变量同名时,子类就隐藏了继承的成员变量;

子类中定义一个方法,并且这个方法的名字、返回类型、参数个数和类型与从父类继承的方法完全相同,子类就隐藏从父类继承来的方法(方法的重写)。

③在子类中允许有一个方法和父类的方法名字相同而类型不同。

8.父类的final方法可以被子类重写吗?

父类的final方法不能被子类重写。

9.什么类中可以有abstract方法?

abstract类中可以有abstract方法。

10.什么叫对象的上转型对象?

B类是A类的子类或间接子类,当用子类B创建一个对象b并把这个对象的引用放到A类的对象a中时,称A类对象a是子类对象b的上转型对象。

11.什么叫接口的回调?

可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中。

12.下列程序有什么错误?

publicclassTakecare

inta=90;

staticfloatb=10.98f;

floatc=a+b;

c="

+c);

语句floatc=a+b;

错误。

原因是类方法main操作了实例变量a。

13.请写出下列程序的输出结果。

classA

publicintf(intx)

returnx+1;

classBextendsA

returnx*x;

100

Aa=newB();

intm=a.f(10);

System.out.println(m);

14.请写出下列程序的输出结果。

publicvoidsetX(intx)

this.x=x;

intgetX()

returnx;

publicvoidf(Aa)

a.setX(100);

8

100

Aa=newA();

a.setX(8);

System.out.println(a.getX());

Bb=newB();

b.f(a);

15.使用接口有哪些注意事项?

模仿例子4.27,编写一个类实现两个接口的程序。

①一个类使用接口时,要有implements关键字,当一个类使用多个接口时,接口名要用逗号“,”隔开;

使用接口的类除abstract类外,必须实现接口的所有方法,并且实现接口的方法时,方法名字、返回

类型、参数个数及类型必须与接口中的完全一致;

类在实现接口时,方法体一定要用public修饰,如果接口方法的返回类型不是void型,在类中实现接口时,方法体至少有一个return语句。

②interface表面积

doubleallArea(doubler);

interface体积

doublevolu(doubler);

classSphimplements表面积,体积

doublePI=3.14159;

publicdoubleallArea(doubler)

return4*PI*r*r;

publicdoublevolu(doubler)

return4.0/3*PI*r*r*r;

publicclassTest

doubler=5.0;

Spha=newSph();

半径为5的球的表面积是:

+a.allArea(r));

半径为5的球的体积是:

+a.volu(r));

16.编写一个类A,该类创建的对象可以调用方法f输出英文字母表,然后再编写一个该类的子类B,要求子类B必须继承A类的方法f(不允许重写),子类创建的对象不仅可以调用方法f输出英文字母表,而且调用子类新增的方法g输出希腊字母表。

intm;

voidf()

for(m=65;

m<

91;

m++)System.out.print((char)m+"

for(m=97;

123;

inti;

voidg()

for(i=913;

i++)System.out.print((char)i+"

for(i=931;

for(i=945;

for(i=963;

970;

Bb=newB();

我调用方法f输出英文字母表:

b.f();

我调用方法g输出希腊字母表:

b.g();

17.编写一个异常类MyException,再编写一个

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

当前位置:首页 > 医药卫生 > 基础医学

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

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