1、Java2实用教程课后习题参考答案Java2实用教程课后习题参考答案Java2 实用教程(第三版)课后习题参考答案第1 章Java 入门1. 开发与运行Jav a 程序需要经过哪些主要步骤和过程?答:( 1)编写Java 源文件:使用文本编辑器(Edit 或记事本),拓展名为.java(2)编译Java 源文件:使用Java 编译器(javac.exe)。得到字节码文件*.class(3)运行Java 程序:Java 应用程序使用Java 解释器(java.exe)执行字节码文件;Java 小应用程序使用支持Java 标准的浏览器来执行。2. 怎样区分应用程序和小应用程序?应用程序的主类或小应
2、用程序的主类必须用public 修饰吗?答: 应用程序必须有main 方法,这个方法是程序执行的入口。小应用程序没有main 方法。应用程序的主类不一定用public 修饰;小应用程序的主类必须用public 修饰。3. Jav a 程序是由什么组成的?一个程序中必须要有public 类吗?Jav a 源文件的命名规则是怎样的?答: Java 程序由类组成。应用程序可以没有public 类;小应用程序一定有一个类是public 类(主类)。应用程序:如果只有一个类,源文件名与该类的类名相同,拓展名为.java;有多个类时,如果有public 类(最多一个),源文件名与public 类的类名相同
3、,拓展名是.java;没有public 类,源文件名与任何一个类的类名相同即可,拓展名为.java。小应用程序:源文件名与主类的类名相同,拓展名是.java。4. 在运行小程序的HTM L 文件中可以使用codebas e 属性指定小程序的字节码所驻留的目录。如果不使用codebas e 属性,小程序的字节码文件必须和运行它的HTM L 文件在同一目录中。编写一个小程序并将小程序的字节码存放在某个目录中,比如C:5000;把运行该小程序的HTM L 文件(注意其中的codebas e 属性):存放在另一个目录中。答: 以书中小应用程序为例进行说明:编写Java 小应用程序源代码import j
4、ava.applet.*;import java.awt.*;public class Boy extends Appletpublic 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 源文件: 将上述编
5、写好的代码命名为Boy.html;并将此文件存放在C:5000 文件夹以外的任意一个文件夹中(如C:1000);运行Boy.html。第2 章标识符、关键字和数据类型1. 什么叫标识符?标识符的规则是什么?答:用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列。由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字字符,而且关键字不能作为标识符。2. 什么叫关键字?请说出5 个关键字。答:Java 语言中已经被赋予特定意义的一些单词。class break public return static extends 等。3. Jav a 的基本数据类型都是什么?答:bool
6、ean(逻辑型) char(字符型) float、double(浮点型) byte、short、int、long(整型)。4. 下列哪些语句是错误的:int x = 8;byte b = 127;b = x;答:b=x 语句错误;原因是高级别的变量赋值给低级别的变量时,一定要用显式转换即b=(byte)x; 。5. 下列程序的输出结果是什么?public class Epublic static void main(Strin g args)long a=1,2,3,4 ;答: 234468我输出结果后不回车我输出结果后自动回车到下一行x+y= 666234432=2344328. 编写一个J
7、av a 应用程序,输出全部的希腊字母。答:public class XLWordspublic 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)k+ );for(int t=963;tA)y=爱;z= 情;elsey=我;z= 她;System.ou t.println( +x+y+ z) ;答: 你爱
8、她2. 下列程序的输出结果是什么?public class E3public static void main(Strin g args)char c=0;for(int i=1;i=4;i+ +)switch(i)case 1:c=b;System.ou t.print(c);case 2:c=e;System.ou t.print(c);break;case 3:c=p;System.ou t.print(c);default:System.ou t.print(!);答:beep!3. 编写应用程序,求1!+2!+10!。答:class Factpublic static void ma
9、in(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. 编写一个应用程序,求10 0 以内的全部素数。答:class Primespublic static void main(String args)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
10、(i+是素数);5. 分别用dowhil e 和fo r 循环计算1+1/2!+1/3!+1/4!+的前2 0 项和。答: for 循环class Sum答:beep!3. 编写应用程序,求1!+2!+10!。答:class Factpublic 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. 编写一个应用程序,求10 0 以内的全部素数。答:cl
11、ass Primespublic static void main(String args)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. 分别用dowhil e 和fo r 循环计算1+1/2!+1/3!+1/4!+的前2 0 项和。答: for 循环class Sumsum=0;for(i=1;ix;i+)if(x%i=0)sum+=i;if(x=sum)System.out.println(x+是完数);7. 编写应用程序,分别使用
12、whil e 和fo r 循环计算8+88+888+前1 0 项之和。答: for 循环class TheSumpublic static void main(String args)long sum=0,data=8;for(int i=1;i=10;i+)sum=sum+data;data=data*10+8;System.out.println(sum);while 循环class TheSumpublic 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+n888 8 的最大正整数n。答:class Maxnpublic static void main(String args)int k=1,sum=0;while(sum+=k)8888)k+;k-;System.out.println(最大能取到:+k);第4 章类、对象和接口1. 类中的实例变量在什么时候会被分配内存空间?答: 当该类创建对象之后,实例变量才会被分配相应的内存空间。2. 什么叫方法的重载?构造方法可以重载吗?
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1