ImageVerifierCode 换一换
格式:DOCX , 页数:83 ,大小:46.98KB ,
资源ID:6186951      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6186951.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java2实用教程第三版课后题答案19章.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java2实用教程第三版课后题答案19章.docx

1、java2实用教程第三版课后题答案19章Java2实用教程(第三版)课后习题参考答案第1章 Java入门1. 开发与运行Java程序需要经过哪些主要步骤和过程?答:(1)编写Java源文件:使用文本编辑器(Edit或记事本),拓展名为.java(2)编译Java源文件:使用Java编译器(javac.exe)。得到字节码文件*.class(3)运行Java程序:Java应用程序使用Java解释器(java.exe)执行字节码文件; Java小应用程序使用支持Java标准的浏览器来执行。2. 怎样区分应用程序和小应用程序?应用程序的主类或小应用程序的主类必须用public修饰吗?答: 应用程序必

2、须有main方法,这个方法是程序执行的入口。小应用程序没有main方法。应用程序的主类不一定用public修饰;小应用程序的主类必须用public修饰。3. Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎样的?答: Java程序由类组成。应用程序可以没有public类;小应用程序一定有一个类是public类(主类)。应用程序:如果只有一个类,源文件名与该类的类名相同,拓展名为.java; 有多个类时,如果有public类(最多一个),源文件名与public类的类 名相同,拓展名是.java;没有public类,源文件名与任何一个类的类名 相同即可,

3、拓展名为.java。 小应用程序:源文件名与主类的类名相同,拓展名是.java。4. 在运行小程序的HTML文件中可以使用codebase属性指定小程序的字节码所驻留的目录。如果不使用codebase属性,小程序的字节码文件必须和运行它的HTML文件在同一目录中。编写一个小程序并将小程序的字节码存放在某个目录中,比如C:5000;把运行该小程序的HTML文件(注意其中的codebase属性):存放在另一个目录中。答: 以书中小应用程序为例进行说明: 编写Java小应用程序源代码import java.applet.*;import java.awt.*;public class Boy ext

4、ends Applet public void paint(Graphics g) g.setColor(Color.red); g.drawString(我一边喝着咖啡,一边学Java呢,5,30); g.setColor(Color.blue); g.drawString(我学得很认真,10,50); 将上述代码命名为Boy.java并进行编译得到Boy.class字节码文件;将得到的字节码文件存放在C:5000文件夹下;编写小应用程序的HTML源文件: 将上述编写好的代码命名为Boy.html;并将此文件存放在C:5000文件夹以外的任意一个文件夹中(如C:1000);运行Boy.htm

5、l。第2章 标识符、关键字和数据类型1. 什么叫标识符?标识符的规则是什么?答:用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列。由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字字符,而且关键字不能作为标识符。2. 什么叫关键字?请说出5个关键字。答:Java语言中已经被赋予特定意义的一些单词。class break public return static extends等。3. Java的基本数据类型都是什么?答:boolean(逻辑型) char(字符型) float、double(浮点型) byte、short、int、long(整型)。4. 下列哪些语句

6、是错误的:int x = 8;byte b = 127;b = x;答:b=x语句错误;原因是高级别的变量赋值给低级别的变量时,一定要用显式转换即b=(byte)x; 。5. 下列程序的输出结果是什么?public class E public static void main(String args) long a=1,2,3,4; long b=100,200,300,400,500; b=a; System.out.println(数组b的长度:+b.length); System.out.println(b0=+b0); 答: 数组b的长度:4 b0=16. 上机运行下列程序,注意观察

7、输出结果。public class E public static void main(String args) for(int i=20302;i20322;i+) System.out.println(char)i); 答: 低住佐佑佒体佔何佖佗佘余佚佛作佝佞佟你佡7. System.out.println(“你好”);可输出字符串,也可以使用System.out.println( )输出变量或表达式的值,只需使用并置符号“+”将变量、表达式或一个常数值与一个字符串并置即可,如: System.out.println(“ ”+x);System.out.println(“:”+123+“大

8、于”+122);等。上机调试下列程序,注意观察结果,特别注意System.out.print( )和System.out.println( )的区别。public class OutputData public static void main(String args) int x=234,y=432; System.out.println(x+(2*x); System.out.print(我输出结果后不回车); System.out.println(我输出结果后自动回车到下一行); System.out.println(x+y= +(x+y); System.out.println( +x

9、+y+=234432); 答: 234468我输出结果后不回车我输出结果后自动回车到下一行x+y= 666 234432=2344328. 编写一个Java应用程序,输出全部的希腊字母。答:public class XLWords public static void main(String args) for(int i=913;i930;i+) System.out.print(char)i+ ); for(int j=931;j938;j+) System.out.print(char)j+ ); for(int k=945;k962;k+) System.out.print(char)

10、k+ ); for(int t=963;tA) y=爱; z=情; else y=我; z=她; System.out.println( +x+y+z); 答: 你爱她2. 下列程序的输出结果是什么?public class E3 public static void main(String args) char c=0; for(int i=1;i=4;i+) switch(i) case 1:c=b; System.out.print(c); case 2:c=e; System.out.print(c); break; case 3:c=p; System.out.print(c); d

11、efault:System.out.print(!); 答:beep!3. 编写应用程序,求1!+2!+10!。答:class Fact public static void main(String args) int fact,sum=0; for(int i=1;i=10;i+) fact=1; for(int j=1;j=i;j+) fact*=j; sum+=fact; System.out.println(1到10的阶乘之和是:+sum); 4. 编写一个应用程序,求100以内的全部素数。答:class Primes public static void main(String ar

12、gs) int w=1; for(int i=2;i=100;i+) for(int j=2;ji;j+) w=i%j; if(w=0) break; if(w!=0) System.out.println(i+是素数); 5. 分别用dowhile和for循环计算1+1/2!+1/3!+1/4!+的前20项和。答: for循环class Sum public static void main(String args) int fact; double sum=0; for(int i=1;i=20;i+) fact=1; for(int j=1;j=i;j+) fact*=j; sum+=1

13、.0/fact; System.out.println(sum); dowhile循环class Sum public static void main(String args) int i=1; int fact; double sum=0; do fact=1; int j=0; while(+j=i) fact*=j; sum+=1.0/fact; while(+i=20); System.out.println(sum); 6. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。编写应用程序,求1000之内的所有完数。答:class Wanshu public static voi

14、d main(String args) int x,i,sum; for(x=1;x=1000;x+) sum=0; for(i=1;ix;i+) if(x%i=0) sum+=i; if(x=sum) System.out.println(x+是完数); 7. 编写应用程序,分别使用while和for循环计算8+88+888+前10项之和。答: for循环class TheSum public static void main(String args) long sum=0,data=8; for(int i=1;i=10;i+) sum=sum+data; data=data*10+8;

15、System.out.println(sum); while循环class TheSum public static void main(String args) long sum=0,data=8,i=0; while(+i=10) sum=sum+data; data=data*10+8; System.out.println(sum); 8. 编写应用程序,输出满足1+2+3+n8888的最大正整数n。答:class Maxn public static void main(String args) int k=1,sum=0; while(sum+=k)8888) k+; k-; Sy

16、stem.out.println(最大能取到:+k); 第4章 类、对象和接口1. 类中的实例变量在什么时候会被分配内存空间?答: 当该类创建对象之后,实例变量才会被分配相应的内存空间。 2. 什么叫方法的重载?构造方法可以重载吗?答:一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同(方法的重载体现了多态性,即功能多态性)。 构造方法可以重载。3. 类中的实例方法可以操作类变量(static变量)吗?类方法(static方法)可以操作实例变量吗?答:类中的实例方法可以操作类变量。 类方法不可以操作实例变量4. 类中的实例方法可以用类名

17、直接调用吗?答: 类中的实例方法不可以用类名直接调用。5. 举例说明protected方法和友好方法的区别。答: 当子类与父类不在同一个包中时,子类可以继承父类的protected方法;而友好方法此时则不能被子类继承。6. 举例说明类变量和实例变量的区别。答:书写: 定义成员变量时,类变量有static修饰;实例变量没有static修饰。 例: class A int x; /实例变量 static int y; /类变量 内存: 不创建对象,类的实例变量不会被分配内存空间;类变量被分配相应的内存空间。 不同对象的实例变量被分配不同的内存空间;不同对象的类变量被分配相同的内存空间。 任何一个对

18、象改变类变量,其他对象的相应类变量也发生相应变化。 一个对象的实例变量发生改变,不影响其他对象的相应实例变量。例: 执行语句: A1.x=10; A1.y=20; 这时A2.x的值也是10;而A2.y的值保持原来的初值。 使用: 类变量可以被类方法操作;而实例变量不能被类方法操作。 例: class A int x; static int y; static void func() b=10; /合法 a=20; /非法 类变量可以通过类名访问;实例变量不能通过类名访问。 例: class A int x; static int y; class B public void func(); A

19、.x=10; /非法 A.y=20; /合法 7. 子类将继承父类的哪些成员变量和方法?子类在什么情况下隐藏父类的成员变量和方法?在子类中是否允许有一个方法和父类的方法名字相同,而类型不同?答:子类和父类在同一个包中时,子类可以继承父类的除private属性的所有方法和成员变量,当子类与父类不在同一个包中时,子类只能继承父类的protected和public属性的成员变量和方法。 子类中定义的成员变量和父类中的成员变量同名时,子类就隐藏了继承的成员变量;子类中定义一个方法,并且这个方法的名字、返回类型、参数个数和类型与从父类继承的方法完全相同,子类就隐藏从父类继承来的方法(方法的重写)。 在子

20、类中允许有一个方法和父类的方法名字相同而类型不同。8. 父类的final方法可以被子类重写吗?答: 父类的final方法不能被子类重写。9. 什么类中可以有abstract方法?答: abstract类中可以有abstract方法。10.什么叫对象的上转型对象?答: B类是A类的子类或间接子类,当用子类B创建一个对象b并把这个对象的引用放到A类的对象a中时,称A类对象a是子类对象b的上转型对象。11.什么叫接口的回调?答: 可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中。12.下列程序有什么错误?public class Takecare int a=90; static f

21、loat b=10.98f; public static void main(String args) float c=a+b; System.out.println(c=+c); 答: 语句float c=a+b;错误。原因是类方法main操作了实例变量a。13. 请写出下列程序的输出结果。class A public int f(int x) return x+1; class B extends A public int f(int x) return x*x; public class E public static void main(String args) A a=new B()

22、; int m=a.f(10); System.out.println(m); 答: 10014. 请写出下列程序的输出结果。class A int x; public void setX(int x) this.x=x; int getX() return x; class B public void f(A a) a.setX(100); public class E public static void main(String args) A a=new A(); a.setX(8); System.out.println(a.getX(); B b=new B(); b.f(a); S

23、ystem.out.println(a.getX(); 答: 8 10015.使用接口有哪些注意事项?模仿例子4.27,编写一个类实现两个接口的程序。答:一个类使用接口时,要有implements关键字,当一个类使用多个接口时,接口名要用逗号“,”隔开;使用接口的类除abstract类外,必须实现接口的所有方法,并且实现接口的方法时,方法名字、返回类型、参数个数及类型必须与接口中的完全一致;类在实现接口时,方法体一定要用public修饰,如果接口方法的返回类型不是void型,在类中实现接口时,方法体至少有一个return语句。 interface 表面积 double allArea(doub

24、le r);interface 体积 double volu(double r);class Sph implements 表面积,体积 double PI=3.14159; public double allArea(double r) return 4*PI*r*r; public double volu(double r) return 4.0/3*PI*r*r*r; public class Test public static void main(String args) double r=5.0; Sph a=new Sph(); System.out.println(半径为5的球

25、的表面积是:+a.allArea(r); System.out.println(半径为5的球的体积是:+a.volu(r); 16.编写一个类A,该类创建的对象可以调用方法f输出英文字母表,然后再编写一个该类的子类B,要求子类B必须继承A类的方法f(不允许重写),子类创建的对象不仅可以调用方法f输出英文字母表,而且调用子类新增的方法g输出希腊字母表。答: class A int m;void f() for(m=65;m91;m+)System.out.print(char)m+ );for(m=97;m123;m+)System.out.print(char)m+ );System.out.println( );class B extends A int i;void g() for(i=913;i930;i+)System.out.print(char)i+ );for(i=931;i938;i+)System.out.print(char)i+ );for(i=945;i962;i+)System.out.print(char)i+ );for(i=963;i970;i+)System.out.print(char)i+ );System.out.println( ); public class Test public static

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

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