2023年Java2实用教程第5版习题解答..pdf
《2023年Java2实用教程第5版习题解答..pdf》由会员分享,可在线阅读,更多相关《2023年Java2实用教程第5版习题解答..pdf(51页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
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 Gosling 2需 3 个步骤:1)用文本编辑器编写源文件。2)使用 javac 编译
2、源文件,得到字节码文件。3)使用解释器运行程序。3 源文件由若干个类所构成。对于应用程序,必须有一个类含有 public static void main(String args)的方法,含有该方法的类称为应用程序的主类。不一定,但至多有一个 public 类。4 set classpath=D:jdkjrelibrt.jar;.;5.java 和 class 6.java Bird 7.独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行)二、选择题 1 B。2 D。1下列哪个是 JDK 提供的编译器?A)java.exe B)javac.exe C)javap.exe
3、D)javaw.exe 2下列哪个是 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
4、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。(b)两个字节码,分别是 Person.clas
5、s 和 Xiti.class。(c)得到“NoSuchMethodError”,得到“NoClassDefFoundError:Xiti/class”,得到“您好,很高兴认识您 nice to meet you”习题 2(第 2 章)一、问答题 1 什么叫标识符?标识符的规则是什么?false 是否可以作为标识符。2 什么叫关键字?true 和 false 是否是关键字?请说出 6 个关键字。3 Java 的基本数据类型都是什么?4 float 型常量和 double 型常量在表示上有什么区别?5.怎样获取一维数组的长度,怎样获取二维数组中一维数组的个数。1用来标识类名、变量名、方法名、类型名
6、、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。false 不是标识符。2 关键字就是 Java 语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来 用。true 和 false 不是关键字。6 个关键字:class implements interface enum extends abstract。3 boolean,char,byte,short,int,long,float,double。4 float 常量必须用 F 或 f 为后缀。double 常量用 D 或 d 为后缀,但允许省略后缀。5一维数组名.length
7、。二维数组名.length。二、选择题 2下列哪三项是正确的 float 变量的声明?adf A.float foo=-1;B.float foo=1.0;C.float foo=42e1;D.float foo=2.02f;E.float foo=3.03d;F.float foo=0 x0123;3下列哪一项叙述是正确的?b A.char 型字符在 Unicode 表中的位置范围是 0 至 32767 B.char 型字符在 Unicode 表中的位置范围是 0 至 65535 C.char 型字符在 Unicode 表中的位置范围是 0 至 65536 D.char 型字符在 Unico
8、de 表中的位置范围是-32768 至 32767 4以下哪两项是正确的 char 型变量的声明?be A.char ch=R;B.char ch=C.char ch=ABCD;D.char ch=ABCD;E.char ch=ucafe;F.char ch=u10100 5下列程序中哪些【代码】是错误的?2345 public class E public static void main(String args)int x=8;byte b=127;b=x;/x=12L;long y=8.0;float z=6.89;/【代码 1】【代码 2】【代码 3】【代码 4】【代码 5】6对于 i
9、nt a=new int3;下列哪个叙述是错误的?b A.a.length 的值是 B.a1 的值是 1。C.a0 的值是 0。3。D.aa.length-1 的值等于 a2 的值。1 C。2 ADF。3 B。4 BE。5【代码 2】【代码 3】【代码 4】【代码 5】。6 B。三、阅读或调试程序 1属于操作题,解答略。2属于操作题,解答略。3属于操作题,解答略。4.下列程序标注的【代码 1】,【代码 2】的输出结果是什么?public class E public static void main(String args)long a=1,2,3,4;long b=100,200,300,4
10、00,500;b=a;System.out.println(数组 b 的长度:+b.length);/【代码 1】System.out.println(b0=+b0);/【代码 2】5.下列程序标注的【代码 1】,【代码 2】的输出结果是什么?public class E public static void main(String args)int a=10,20,30,40,b=1,2,4,5,6,7;b0=a;b01=b13;System.out.println(b03);/【代码 1】System.out.println(a1);/【代码 2】4【代码 5【代码 1】:4。【代码 1】
11、:40。【代码 2】:b0=1。2】:7 四、编写程序 1 编写一个应用程序,给出汉字你、我、他在 Unicode 表中的位置。2 编写一个 Java 应用程序,输出全部的希腊字母。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(ch
12、ar c=cStart;c0 B m+0 C m=0 D m100&true public class E public static void main(String args)int m=10,n=0;while(【代码】n+;)3假设有 int x=1;以下哪个代码导致“可能损失精度,找到 int 需要 char”这样的编译错 误。c A short t=12+a;B char c=a+1;C char m=a+x;D byte n=a+1;1 A。2 C。3 C。三、阅读程序 1下列程序的输出结果是什么?public class E public static void main(St
13、ring args)char x=你,y=e,z=吃;if(xA)y=苹;z=果;else y=酸;z=甜;System.out.println(x+,+y+,+z);2.下列程序的输出结果是什么?public class E public static void main(String args)char c=0;for(int i=1;i0)x-;System.out.print(x=+x+,y=+y);x=0,y=5 x=-1,y=4 x=-2,y=3 x=-3,y=2 x=-4,y=1 x=-5,y=0 x=-5,y=-1 1你,苹,甜 2 Jeep 好好 3 x=-5,y=-1 四、
14、编程序题 1编写应用程序求 1!+2!+10!。2编写一个应用程序求 100 以内的全部素数。3分别用 do-while 和 for 循环计算 1+1/2!+1/3!+1/4!4一个数如果恰好等于它的因子之和,这个数就称为“完数”的前 20 项和。编写应用程序求 1000 之 内的所有完数。5编写应用程序,使用 for 循环语句计算 8+88+888 前 10 项之和。6编写应用程序,输出满足 1+2+3+n8888 的最大正整数 n。1 public class Xiti1 public static void main(String args)double sum=0,a=1;int i=
15、1;while(i=20)sum=sum+a;i+;a=a*i;System.out.println(sum=+sum);2 public class Xiti2 public static void main(String args)int i,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 class Xiti3 public static void main(String args)double sum=0,a=1,i=1;do sum=sum+a;i+;a=(1.0/i)
16、*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 public 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.
17、println(完数:+i);5 public 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=10;i+)sum=sum+item;item=item*10+m;System.out.println(sum);6 public class Xiti6 public static void main(String args)int n=1;long sum=0;while(true)sum=sum+n;n+;if(sum=8888)break
18、;System.out.println(满足条件的最大整数:+(n-1);习题 4(第 4 章)一、问答题 1面向对象语言有哪三个特性?2类名应当遵守怎样的编程风格?3变量和方法的名字应当遵守怎样的编程风格?4类体内容中声明成员变量是为了体现对象的属性还是行为?5类体内容中定义的非构造方法是为了体现对象的属性还是行为?6什么时候使用构造方法?构造方法有类型吗?7类中的实例变量在什么时候会被分配内存空间?8什么叫方法的重载?构造方法可以重载吗?9类中的实例方法可以操作类变量(static 变量)吗?类方法(static 方法)可以操作实例变量吗?可以。不可以。10类中的实例方法可以用类名直接调用
19、吗?8 一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参 数的个数不同,或者是参数的类型不同。可以。9 10不可以。11简述类变量和实例变量的区别。12 this 关键字代表什么?this 可以出现在类方法中吗?1.封装、继承和多态。2当类名由几个单词复合而成时,每个单词的首字母使用大写。3 名字的首单词的首字母使用小写,如果变量的名字由多个单词组成,从第 2 个单词开 始的其它单词的首字母使用大写。4 属性 5 行为 6 用类创建对象时。没有类型 7 用类创建对象时。8 一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参
20、数的类型不同。可以。9 可以。不可以。10不可以。11一个类通过使用 new 运算符可以创建多个不同的对象,不同的对象的实例变量将被分 配不同的内存空间。所有对象的类变量都分配给相同的一处内存,对象共享类变量。12代表调用当前方法的对象。不可以。二、选择题 1下列哪个叙述是正确的?b A.Java 应用程序由若干个类所构成,这些类必须在一个源文件中。B.Java 应用程序由若干个类所构成,这些类可以在一个源文件中,也可以分布在若干个源文件中,其中必须有一个源文件含有主类。C.Java 源文件必须含有主类。D.Java 源文件如果含有主类,主类必须是 public 类。2下列哪个叙述是正确的?d
21、 A.成员变量的名字不可以和局部变量的相同。B.方法的参数的名字可以和方法中声明的局部变量的名字相同。C.成员变量没有默认值。D.局部变量没有默认值。3对于下列 Hello 类,哪个叙述是正确的?d A.Hello 类有 2 个构造方法。B.Hello 类的 int Hello()方法是错误的方法。C.Hello 类没有构造方法。D.Hello 无法通过编译,因为其中的 hello 方法的方法头是错误的(没有类型)。class Hello Hello(int m)int Hello()return 20;hello()4对于下列 Dog 类,哪个叙述是错误的?d A.Dog(int m)与 D
22、og(double m)互为重载的构造方法。B.int Dog(int m)与 void Dog(double m)互为重载的非构造方法。C.Dog 类只有两个构造方法,而且没有无参数的构造方法。D.Dog 类有 3 个构造方法。class Dog Dog(int m)Dog(double m)int Dog(int m)return 23;void Dog(double m)构造方法是一种特殊的方法,与一般的方法不同是:1.构造方法的名字必须与定义他的类名完全相同,没有 返回类型,甚至连 void 也没 有。2.构造方法的调用是在创建一个对象时使用 new 操作进行的。构造方法的作用是初始
23、化对象。3.不能被 static、final、synchronized、abstract 和 native 修饰。构造方法不能被 子类继承。5下列哪些类声明是错误的?cd A)class A B)public class A C)protected class A D)private class A 6下列 A 类中【代码 1】【代码 5】哪些是错误的?1 4 class Tom private int x=120;protected int y=20;int z=11;private void f()x=200;System.out.println(x);void g()x=200;Syst
24、em.out.println(x);public class A public static void main(String args)Tom tom=new Tom();tom.x=22;/【代码 tom.y=33;/【代码 tom.z=55;/【代码 tom.f();/【代码 tom.g();/【代码 1】2】3】4】5】7下列 E 类的类体中哪些【代码】是错误的。4 class E int x;/【代码 1】long y=x;/【代码 2】public void f(int n)int m;/【代码 3】int t=n+m;/【代码 4】1 B。2 D。3 D。4 D。5 CD。6【代
25、码 1】【代码 4】。7【代码 4】。三、阅读程序 1说出下列 E 类中【代码 1】【代码 3】的输出结果。class Fish int weight=1;class Lake Fish fish;void setFish(Fish s)fish=s;void foodFish(int m)fish.weight=fish.weight+m;public class E public static void main(String args)Fish redFish=new Fish();System.out.println(redFish.weight);/【代码 1】Lake lake=n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 Java2 实用教程 习题 解答
限制150内