Java2实用教程答案
- 格式:pdf
- 大小:167.39 KB
- 文档页数:45
J a v a2实用教程(第5版)习题解答(总39页)-本页仅作为预览文档封面,使用时请删除本页-习题解答习题1(第1章)一、问答题1.James Gosling2.需3个步骤:1)用文本编辑器编写源文件。
2)使用javac编译源文件,得到字节码文件。
3)使用解释器运行程序。
3.源文件由若干个类所构成。
对于应用程序,必须有一个类含有public static void main(String args[])的方法,含有该方法的类称为应用程序的主类。
不一定,但至多有一个public类。
4.set classpath=D:\jdk\jre\lib\;.;5. java和class6. java Bird7.独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行)二、选择题1.B。
2.D。
三、阅读程序1.(a)。
(b)两个字节码,分别是和。
(c)得到“NoSuchMethodError”,得到“NoClassDefFoundError: Xiti/class”,得到“您好,很高兴认识您 nice to meet you”习题2(第2章)一、问答题1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。
标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。
false不是标识符。
2.关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。
true和false不是关键字。
6个关键字:class implements interface enum extends abstract。
3.boolean,char,byte,short,int,long,float,double。
14.float常量必须用F或f为后缀。
double常量用D或d为后缀,但允许省略后缀。
5.一维数组名.length。
二维数组名.length。
二、选择题1.C。
习题解答习题一(第1章)一、问答题1.James Gosling2.需3个步骤:1)用文本编辑器编写源文件。
2)使用javac编译源文件,得到字节码文件。
3)使用解释器运行程序。
3.由类所构成,应用程序必须有一个类含有public static void main(String args[])方法,含有该方法的类称为应用程序的主类。
不一定,但最多有一个public 类。
4.set classpath=D:\jdk\jre\lib\rt.jar;.;5.java和class6. java Bird7.独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行)二、选择题1.B。
2.D。
三、阅读程序1.(a)Person.java。
(b)两个字节码,分别是Person.class和Xiti.class。
(c)得到“NoSuchMethodError”,得到“NoClassDefFoundError: Xiti/class”,得到“您好,很高兴认识您nice to meet you”习题二(第2章)一、问答题1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。
标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。
false不是标识符。
2.关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。
不是关键字。
class implements interface enum extends abstract。
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】。
习题解答习题1(第1章)一、问答题1.JamesGosling2.需3个步骤:1)用文本编辑器编写源文件。
2)使用javac编译源文件,得到字节码文件。
3)3.4.5.java和6.javaBird7.1.B。
21.(a)”,得到“习题21.2.不是关键字。
63.4.float51.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[]){他');}}2.publicclassE{publicstaticvoidmain(Stringargs[]){charcStart='α',cEnd='ω';for(charc=cStart;c<=cEnd;c++)"+c);}}习题31.2.不可以3.4.5.结束6.可以1.A。
21.你,苹,2.Jeep3.1.sum=sum+a;i++;a=a*i;}}}2.publicclassXiti2{publicstaticvoidmain(Stringargs[]){inti,j;for(j=2;j<=100;j++){for(i=2;i<=j/2;i++){if(j%i==0)if(i>j/2){"+j);}}}}3.classXiti3{publicstaticvoidmain(Stringargs[]){doublesum=0,a=1,i=1;do{sum=sum+a;i++;}}}}4.}}}}5.item=item*10+m;}}}6.publicclassXiti6{publicstaticvoidmain(Stringargs[]){intn=1;longsum=0;while(true){sum=sum+n;n++;if(sum>=8888)break;}}}习题4(第4章)一、问答题1.封装、继承和多态。
习题解答习题1(第1章)一、问答题1.Java语言的主要贡献者是谁?2.开发Java应用程序需要经过哪些主要步骤?3.Java源文件是由什么组成的?一个源文件中必须要有public 类吗?4.如果JDK的安装目录为D:\jdk,应当怎样设置path和classpath的值?5.Java源文件的扩展名是什么?Java字节码的扩展名是什么?6.如果Java应用程序主类的名字是Bird,编译之后,应当怎样运行该程序?7.有哪两种编程风格,在格式上各有怎样的特点?1.James Gosling2.需3个步骤:1)用文本编辑器编写源文件。
2)使用javac编译源文件,得到字节码文件。
3)使用解释器运行程序。
3.源文件由若干个类所构成。
对于应用程序,必须有一个类含有public static void main(String args[])的方法,含有该方法的类称为应用程序的主类。
不一定,但至多有一个public类。
4.set classpath=D:\jdk\jre\lib\rt.jar;.;5. java和class6. java Bird7.独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行)二、选择题1.B。
2.D。
1.下列哪个是JDK提供的编译器?A) java.exeB) javac.exeC) javap.exeD) javaw.exe2.下列哪个是Java应用程序主类中正确的main方法?A) public void main (String args[ ])B) static void main (String args[ ])C) public static void Main (String args[])D) public static void main (String args[ ])三、阅读程序阅读下列Java源文件,并回答问题。
public class Person {void speakHello() {System.out.print("您好,很高兴认识您");System.out.println(" nice to meet you");}}class Xiti {public static void main(String args[]) {Person zhang = new Person();zhang.speakHello();}}(a)上述源文件的名字是什么?(b)编译上述源文件将生成几个字节码文件?这些字节码文件的名字都是什么?(c)在命令行执行java Person得到怎样的错误提示?执行java xiti得到怎样的错误提示?执行java Xiti.class得到怎样的错误提示?执行java Xiti得到怎样的输出结果?1.(a)Person.java。
Java2实用教程(第4版)答案耿祥义、张跃平第1章一、问答题1.James Gosling2.需3个步骤:1)用文本编辑器编写源文件。
2)使用javac编译源文件,得到字节码文件。
3)使用解释器运行程序。
3.由类所构成,应用程序必须有一个类含有public static void main(String args[])方法,含有该方法的类称为应用程序的主类。
不一定,但最多有一个public类。
4.set classpath=D:\jdk\jre\lib\rt.jar;.;5.java和class6. java Bird7.独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行)二、选择题1.B。
2.D。
三、阅读程序1.(a)Person.java。
(b)两个字节码,分别是Person.class和Xiti.class。
(c)得到“NoSuchMethodError”,得到“NoClassDefFoundError: Xiti/class”,得到“您好,很高兴认识您nice to meet you”第2章一、问答题1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。
标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。
false不是标识符。
2.关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。
不是关键字。
class implements interface enum extends abstract。
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】。
习题解答习题1(第1章)一、问答题1.Java语言的主要贡献者是谁?2.开发Java应用程序需要经过哪些主要步骤?3.Java源文件是由什么组成的?一个源文件中必须要有public类吗?4.如果JDK的安装目录为D:\jdk,应当怎样设置path和classpath的值?5.Java源文件的扩展名是什么?Java字节码的扩展名是什么?6.如果Java应用程序主类的名字是Bird,编译之后,应当怎样运行该程序?7.有哪两种编程风格,在格式上各有怎样的特点?1.James Gosling2.需3个步骤:1)用文本编辑器编写源文件。
2)使用javac编译源文件,得到字节码文件。
3)使用解释器运行程序.3.源文件由若干个类所构成。
对于应用程序,必须有一个类含有public static void main(String args[])的方法,含有该方法的类称为应用程序的主类。
不一定,但至多有一个public类。
4.set classpath=D:\jdk\jre\lib\rt。
jar;。
;5。
java和class6。
java Bird7。
独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行)二、选择题1.B。
2.D.1.下列哪个是JDK提供的编译器?A) java.exeB) javac.exeC) javap。
exeD) javaw.exe2.下列哪个是Java应用程序主类中正确的main方法?A) public void main (String args[])B) static void main (String args[])C) public static void Main (String args[])D) public static void main (String args[])三、阅读程序阅读下列Java源文件,并回答问题。
public class Person {void speakHello(){System.out。
第1章 Java入门1. 开发与运行Java程序需要经过哪些主要步骤和过程?答:(1)编写Java源文件:使用文本编辑器(Edit或记事本),拓展名为.java(2)编译Java源文件:使用Java编译器(javac.exe)。
得到字节码文件*.class(3)运行Java程序:Java应用程序使用Java解释器(java.exe)执行字节码文件;Java小应用程序使用支持Java标准的浏览器来执行。
2. 怎样区分应用程序和小应用程序?应用程序的主类或小应用程序的主类必须用public修饰吗?答:①应用程序必须有main方法,这个方法是程序执行的入口。
小应用程序没有main方法。
②应用程序的主类不一定用public修饰;小应用程序的主类必须用public修饰。
3. Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎样的?答:①Java程序由类组成。
②应用程序可以没有public类;小应用程序一定有一个类是public类(主类)。
③应用程序:如果只有一个类,源文件名与该类的类名相同,拓展名为.java;有多个类时,如果有public类(最多一个),源文件名与public类的类名相同,拓展名是.java;没有public类,源文件名与任何一个类的类名相同即可,拓展名为.java。
小应用程序:源文件名与主类的类名相同,拓展名是.java。
4. 在运行小程序的HTML文件中可以使用codebase属性指定小程序的字节码所驻留的目录。
如果不使用codebase属性,小程序的字节码文件必须和运行它的HTML文件在同一目录中。
编写一个小程序并将小程序的字节码存放在某个目录中,比如C:\5000;把运行该小程序的HTML文件(注意其中的codebase属性): <applet code=你的小程序的字节码 width=200 height=300 codebase=C:\5000></applet>存放在另一个目录中。
第4章类、对象和接口1. 类中的实例变量在什么时候会被分配内存空间?答: 当该类创建对象之后,实例变量才会被分配相应的内存空间。
2. 什么叫方法的重载?构造方法可以重载吗?答:①一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同(方法的重载体现了多态性,即功能多态性)。
②构造方法可以重载。
3. 类中的实例方法可以操作类变量(static变量)吗?类方法(static方法)可以操作实例变量吗?答:①类中的实例方法可以操作类变量。
②类方法不可以操作实例变量4. 类中的实例方法可以用类名直接调用吗?答: 类中的实例方法不可以用类名直接调用。
5. 举例说明protected方法和友好方法的区别。
答: 当子类与父类不在同一个包中时,子类可以继承父类的protected方法;而友好方法此时则不能被子类继承。
6. 举例说明类变量和实例变量的区别。
答:⑴书写: 定义成员变量时,类变量有static修饰;实例变量没有static修饰。
例: class A{int x; //实例变量static int y; //类变量}⑵内存: 不创建对象,类的实例变量不会被分配内存空间;类变量被分配相应的内存空间。
不同对象的实例变量被分配不同的内存空间;不同对象的类变量被分配相同的内存空间。
任何一个对象改变类变量,其他对象的相应类变量也发生相应变化。
一个对象的实例变量发生改变,不影响其他对象的相应实例变量。
例: 执行语句: 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.x=10; //非法A.y=20; //合法}}7. 子类将继承父类的哪些成员变量和方法?子类在什么情况下隐藏父类的成员变量和方法?在子类中是否允许有一个方法和父类的方法名字相同,而类型不同?答:①子类和父类在同一个包中时,子类可以继承父类的除private属性的所有方法和成员变量,当子类与父类不在同一个包中时,子类只能继承父类的protected和public属性的成员变量和方法。