您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > java2实用教程第4版答案
JAVA2实用教程习题解答习题一(第1章)一、问答题1.JamesGosling2.需3个步骤:1)用文本编辑器编写源文件。2)使用javac编译源文件,得到字节码文件。3)使用解释器运行程序。3.由类所构成,应用程序必须有一个类含有publicstaticvoidmain(Stringargs[])方法,含有该方法的类称为应用程序的主类。不一定,但最多有一个public类。4.setclasspath=D:\jdk\jre\lib\rt.jar;.;5.java和class6.javaBird7.独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行)二、选择题1.B。2.D。三、阅读程序1.(a)Person.java。(b)两个字节码,分别是Person.class和Xiti.class。(c)得到“NoSuchMethodError”,得到“NoClassDefFoundError:Xiti/class”,得到“您好,很高兴认识您nicetomeetyou”习题二(第2章)一、问答题1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。false不是标识符。2.关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。不是关键字。classimplementsinterfaceenumextendsabstract。3.boolean,char,byte,short,int,long,float,double。4.float常量必须用F或f为后缀。double常量用D或d为后缀,但允许省略后缀。5.一维数组名.length。二维数组名.length。二、选择题1.C。2.ADF。3.B。4.BE。5.【代码2】【代码3】【代码4】【代码5】。6.B。三、阅读或调试程序1.属于操作题,解答略。2.属于操作题,解答略。3.属于操作题,解答略。4.【代码1】:4。【代码2】:b[0]=1。5.【代码1】:40。【代码2】:7四、编写程序1.publicclassE{publicstaticvoidmain(Stringargs[]){System.out.println((int)'你');System.out.println((int)'我');System.out.println((int)'他');}}2.publicclassE{publicstaticvoidmain(Stringargs[]){charcStart='α',cEnd='ω';for(charc=cStart;c=cEnd;c++)System.out.print(+c);}}习题三(第3章)一、问答题1.boolean2.不可以3.boolean4.不是必须的5.结束while语句的执行6.可以二、选择题1.A。2.C。3.C。三、阅读程序1.你,苹,甜2.Jeep好好3.x=-5,y=-1四、编程序题1.publicclassXiti1{publicstaticvoidmain(Stringargs[]){doublesum=0,a=1;inti=1;while(i=10){sum=sum+a;i++;a=a*i;}System.out.println(sum=+sum);}}2.publicclassXiti2{publicstaticvoidmain(Stringargs[]){inti,j;for(j=2;j=100;j++){for(i=2;i=j/2;i++){if(j%i==0)break;}if(ij/2){System.out.print(+j);}}}}3.classXiti3{publicstaticvoidmain(Stringargs[]){doublesum=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=+sum);}}4.publicclassXiti4{publicstaticvoidmain(Stringargs[]){intsum=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);}}}5.publicclassXiti5{publicstaticvoidmain(Stringargs[]){intm=8,item=m,i=1;longsum=0;for(i=1,sum=0,item=m;i=10;i++){sum=sum+item;item=item*10+m;}System.out.println(sum);}}6.publicclassXiti6{publicstaticvoidmain(Stringargs[]){intn=1;longsum=0;while(true){sum=sum+n;n++;if(sum=8888)break;}System.out.println(满足条件的最大整数:+(n-1));}}习题四(第4章)一、问答题1.封装、继承和多态。2.当类名由几个单词复合而成时,每个单词的首字母使用大写。3.名字的首单词的首字母使用小写,如果变量的名字由多个单词组成,从第2个单词开始的其它单词的首字母使用大写。4.属性5.行为6.用类创建对象时。没有类型7.用类创建对象时。8.一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。可以。9.可以。不可以。10.不可以。11.一个类通过使用new运算符可以创建多个不同的对象,不同的对象的实例变量将被分配不同的内存空间。所有对象的类变量都分配给相同的一处内存,对象共享类变量。12.代表调用当前方法的对象。不可以。二、选择题1.B。2.D。3.D。4.D。5.CD。6.【代码1】【代码4】。7.【代码4】。三、阅读程序1.【代码1】:1,【代码2】:121,【代码3】:121。2.sum=-100。3.27。4.【代码1】:100,【代码2】:20.0。5.上机实习题目,解答略。6.上机实习题目,解答略。四、编程题CPU.javapublicclassCPU{intspeed;intgetSpeed(){returnspeed;}publicvoidsetSpeed(intspeed){this.speed=speed;}}HardDisk.javapublicclassHardDisk{intamount;intgetAmount(){returnamount;}publicvoidsetAmount(intamount){this.amount=amount;}}PC.javapublicclassPC{CPUcpu;HardDiskHD;voidsetCPU(CPUcpu){this.cpu=cpu;}voidsetHardDisk(HardDiskHD){this.HD=HD;}voidshow(){System.out.println(CPU速度:+cpu.getSpeed());System.out.println(硬盘容量:+HD.getAmount());}}Test.javapublicclassTest{publicstaticvoidmain(Stringargs[]){CPUcpu=newCPU();HardDiskHD=newHardDisk();cpu.setSpeed(2200);HD.setAmount(200);PCpc=newPC();pc.setCPU(cpu);pc.setHardDisk(HD);pc.show();}}习题五(第5章)一、问答题1.不可以。2.是。3.不继承。4.声明与父类同名的成员变量。5.子类重写的方法类型和父类的方法的类型一致或者是父类的方法的类型的子类型,重写的方法的名字、参数个数、参数的类型和父类的方法完全相同。重写方法的目的是隐藏继承的方法,子类通过方法的重写可以把父类的状态和行为改变为自身的状态和行为。6.不可以。7.Abstract类。8.上转型对象不能操作子类新增的成员变量,不能调用子类新增的方法。上转型对象可以访问子类继承或隐藏的成员变量,可以调用子类继承的方法或子类重写的实例方法。9.通过重写方法。10.面向抽象编程目的是为了应对用户需求的变化,核心是让类中每种可能的变化对应地交给抽象类的一个子类类去负责,从而让该类的设计者不去关心具体实现。二、选择题1.C。2.D。3.CD。4.D。5.B。6.B。7.D。8.B。9.A。三、阅读程序1.【代码1】:15.0。【代码2】:8.0。2.【代码1】:11。【代码2】:11。3.【代码1】:98.0。【代码2】:12。【代码3】:98.0。【代码4】:9。4.【代码1】:120。【代码2】:120。【代码3】:-100。四、编程题Animal.javapublicabstractclassAnimal{publicabstractvoidcry();publicabstractStringgetAnimalName();}Simulator.javapublicclassSimulator{publicvoidplaySound(Animalanimal){System.out.print(现在播放+animal.getAnimalName()+类的声音:);animal.cry();}}Dog.javapublicclassDogextendsAnimal{publicvoidcry(){System.out.println(汪汪...汪汪);}publicStringgetAnimalName(){return狗;}}Cat.javapublicclassCatextendsAnimal{publicvoidcry(){System.out.println(喵喵...喵喵);}publicStringgetAnimalName(){return猫;}}Application.javapublicclassExample5_13{publicstaticvoidmain(Stringargs[]){Simulatorsimulator=newSimulator();simulator.playSound(newDog());simulator.playSound(newCat());}}习题六(第6章)一、问答题1.不能。2.不能。3.可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中。那么该接口变量就可以调用被类实现的接口中的方法。4.不可以。5.可以。二、选择题1.D。2.AB。3.B。三、阅读程序1.【代码1】:15.0。【代码2】:8。2.【代码1】:18。【代码2】:15。四、编程题Animal.javapublicinterfaceAnimal{publicabstractvoidcry();publicabstractStringgetAnimalName();}Simulator.javapublicclassSimulator{publicvoidplaySound(Animalanimal){System.out.print(现在播放+animal.getAnimalName()+类的声音:);animal.cry();}}Dog.javapublicclassDogimplementsAnima
本文标题:java2实用教程第4版答案
链接地址:https://www.777doc.com/doc-4249156 .html