《Java2实用教程(第5版)习题解答》由会员分享,可在线阅读,更多相关《Java2实用教程(第5版)习题解答(47页珍藏版)》请在金锄头文库上搜索。
1、习题解答习题1(第1章)一、问答题1James Gosling2需3个步骤:1) 用文本编辑器编写源文件。 2) 使用javac编译源文件,得到字节码文件。3) 使用解释器运行程序。3源文件由若干个类所构成。对于应用程序,必须有一个类含有public static void main(String args)的方法,含有该方法的类称为应用程序的主类。不一定,但至多有一个public类。4set classpath=D:jdkjrelibrt.jar;.;5. java和class6. java Bird 7. 独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行)二、选择题
2、1B。2D。 三、阅读程序1(a)Person.java。(b)两个字节码,分别是Person.class和Xiti.class。(c)得到“NoSuchMethodError”,得到“NoClassDefFoundError: Xiti/class”,得到“您好,很高兴认识您 nice to meet you”习题2(第2章)一、问答题1用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。false不是标识符。2关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。true和
3、false不是关键字。6个关键字:class implements interface enum extends abstract。3boolean,char,byte,short,int,long,float,double。4float常量必须用F或f为后缀。double常量用D或d为后缀,但允许省略后缀。5一维数组名.length。二维数组名.length。二、选择题1C。2ADF。3B。4BE。5【代码2】【代码3】【代码4】【代码5】。6B。三、阅读或调试程序1属于操作题,解答略。2属于操作题,解答略。3属于操作题,解答略。4【代码1】:4。【代码2】:b0=1。5【代码1】:40。【
4、代码2】:7四、编写程序1. public class E public static void main(String args) System.out.println(int)你); System.out.println(int)我); System.out.println(int)他); 2. public class E public static void main (String args ) char cStart=,cEnd=; for(char c=cStart;c=cEnd;c+) System.out.print( +c); 习题3(第3章)一、问答题1boolean2不
5、可以3boolean4. 不是必须的5结束while语句的执行6可以二、选择题1A。 2C。 3C。三、阅读程序1你,苹,甜2Jeep好好3x=-5,y=-1四、编程序题1public class Xiti1 public static void main(String args) double sum=0,a=1;int i=1; while(i=20) sum=sum+a; i+; a=a*i; System.out.println(sum=+sum); 2public class Xiti2 public static void main(String args) int i,j; fo
6、r(j=2;j=100;j+) for(i=2;ij/2) System.out.print( +j); 3class Xiti3 public static void main(String args) double sum=0,a=1,i=1; do sum=sum+a; i+; a=(1.0/i)*a; while(i=20); System.out.println(使用do-while循环计算的sum=+sum); for(sum=0,i=1,a=1;i=20;i+) a=a*(1.0/i); sum=sum+a; System.out.println(使用for循环计算的sum=+s
7、um); 4public class Xiti4 public static void main(String args) int sum=0,i,j; for(i=1;i=1000;i+) for(j=1,sum=0;ji;j+) if(i%j=0) sum=sum+j; if(sum=i) System.out.println(完数:+i); 5public class Xiti5 public static void main(String args) int m=8,item=m,i=1; long sum=0; for(i=1,sum=0,item=m;i=8888) break;
8、System.out.println(满足条件的最大整数:+(n-1); 习题4(第4章)一、问答题1. 封装、继承和多态。2当类名由几个单词复合而成时,每个单词的首字母使用大写。3名字的首单词的首字母使用小写,如果变量的名字由多个单词组成,从第2个单词开始的其它单词的首字母使用大写。4属性5行为6用类创建对象时。没有类型7用类创建对象时。8一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。可以。9可以。不可以。10不可以。11一个类通过使用new运算符可以创建多个不同的对象,不同的对象的实例变量将被分配不同的内存空间。所有对象的类变
9、量都分配给相同的一处内存,对象共享类变量。12代表调用当前方法的对象。不可以。二、选择题1B。2D。3D。4D。5CD。6【代码1】【代码4】。7【代码4】。三、阅读程序1【代码1】:1,【代码2】:121,【代码3】:121。2sum=-100。3. 27。4【代码1】:100,【代码2】:20.0。5. 上机实习题目,解答略。6. 上机实习题目,解答略。四、编程题CPU.javapublic class CPU int speed; int getSpeed() return speed; public void setSpeed(int speed) this.speed = speed
10、; HardDisk.javapublic class HardDisk int amount; int getAmount() return amount; public void setAmount(int amount) this.amount = amount; PC.javapublic class PC CPU cpu; HardDisk HD; void setCPU(CPU cpu) this.cpu = cpu; void setHardDisk(HardDisk HD) this.HD = HD; void show() System.out.println(CPU速度:+
11、cpu.getSpeed(); System.out.println(硬盘容量:+HD.getAmount(); Test.javapublic class Test public static void main(String args) CPU cpu = new CPU(); HardDisk HD=new HardDisk(); cpu.setSpeed(2200); HD.setAmount(200); PC pc =new PC(); pc.setCPU(cpu); pc.setHardDisk(HD); pc.show(); 习题5(第5章)一、问答题1不可以。2是。3不继承。4声明与父类同名的成员变量。5子类重写的方法类型和父类的方法的类型一致或者是父类的方法的类型的子类型,重写的方法的名字、参数个数、参数的类型和父类的方法完全相同。重写方法的目的是隐藏继承的方法,子类通过方法的重写可以把父类的状态和行为改变为自身的状态和行为。6不可以。7abstract类。8上转型对象不能操作子类新增的成员变量,不能调用子类新增的方