1、#*习题解答习题 1(第 1 章)一、 问答题1Java 语言的主要贡献者是谁?2开发 Java 应用程序需要经过哪些主要步骤?3Java 源文件是由什么组成的?一个源文件中必须要有 public 类吗?4如果 JDK 的安装目录为 D:jdk,应当怎样设置 path 和 classpath 的值?5Java 源文件的扩展名是什么?Java 字节码的扩展名是什么?6如果 Java 应用程序主类的名字是 Bird,编译之后,应当怎样运行该程序?7有哪两种编程风格,在格式上各有怎样的特点?1James Gosling2需 3 个步骤:1) 用文本编辑器编写源文件。 2) 使用 javac 编译源文
2、件,得到字节码文件。3) 使用解释器运行程序。3源文件由若干个类所构成。对于应用程序,必须有一个类含有 public static void main(String args)的方法,含有该方法的类称为应用程序的主类。不一定,但至多有一个public 类。4set classpath=D:jdkjrelibrt.jar;.;5. java 和 class6. java Bird 7. 独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行)二、选择题1B。2D。 1下列哪个是 JDK 提供的编译器?A) java.exeB) javac.exeC) javap.exeD) j
3、avaw.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.print
4、ln(“ 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。 (b)两个
5、字节码,分别是 Person.class 和 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. 怎样获取一维数组的长度,怎样获取二维数组中一维数组的个
6、数。1用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。false 不是#*标识符。2关键字就是 Java 语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。true 和 false 不是关键字。 6 个关键字:class implements interface enum extends abstract。3boolean,char,byte ,short,int,long,float,double。4float 常量必须用 F 或 f 为后缀。double 常量用 D 或 d 为后缀,
7、但允许省略后缀。5一维数组名.length。二维数组名.length 。二、选择题2下列哪三项是正确的 float 变量的声明?adfA. 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 = 0x0123; 3下列哪一项叙述是正确的?bA. char 型字符在 Unicode 表中的位置范围是 0 至 32767B. char 型字符在 Unicode 表中的位置范围是 0 至 65535C. char 型字符在 U
8、nicode 表中的位置范围是 0 至 65536D. char 型字符在 Unicode 表中的位置范围是-32768 至 327674以下哪两项是正确的 char 型变量的声明?beA. char ch = “R“;B. char ch = C. char ch = ABCD;D. char ch = “ABCD“;E. char ch = ucafe;F. char ch = u101005下列程序中哪些【代码】是错误的?2345public class E public static void main(String args) int x = 8;byte b = 127; /【代码
9、 1】b = x; /【代码 2】x = 12L; /【代码 3】long y=8.0; /【代码 4】 float z=6.89 ; /【代码 5】6对于 int a = new int3;下列哪个叙述是错误的?b#*A. a.length 的值是 3。B. a1的值是 1。C. a0的值是 0。D. aa.length-1的值等于 a2的值。1C。2ADF 。3B。4BE 。5 【代码 2】 【代码 3】 【代码 4】 【代码 5】 。6B。三、阅读或调试程序1属于操作题,解答略。2属于操作题,解答略。3属于操作题,解答略。4.下列程序标注的【代码 1】 , 【代码 2】的输出结果是什么?
10、public class E public static void main (String args ) long a = 1,2,3,4;long b = 100,200,300,400,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,
11、2,4,5,6,7;b0 = a;b01 = b13;System.out.println(b03); /【代码 1】System.out.println(a1); /【代码 2】4 【代码 1】:4。 【代码 2】:b0=1 。5 【代码 1】:40。 【代码 2】:7四、编写程序1编写一个应用程序,给出汉字你 、 我 、 他在 Unicode 表中的位置。2编写一个 Java 应用程序,输出全部的希腊字母。1. public class E public static void main(String args) #*System.out.println(int)你); System.ou
12、t.println(int)我); System.out.println(int)他);2. public class E public static void main (String args ) char cStart=,cEnd=;for(char c=cStart;c0 Bm+0 Cm = 0 Dm100while(【 代码】) n+; 3假设有 int x=1;以下哪个代码导致“可能损失精度,找到 int 需要 char”这样的编译错误。 cAshort t=12+a; Bchar c =a+1; Cchar m =a+x; Dbyte n =a+1;1A。 2C。 3C。三、阅读
13、程序1下列程序的输出结果是什么?public class E public static void main (String args ) char x=你,y=e,z=吃;if(xA) y=苹;z=果;elsey=酸;#*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=5x=-1,y=4x=
14、-2,y=3x=-3,y=2x=-4,y=1x=-5,y=0x=-5,y=-11你,苹,甜2Jeep 好好3x=-5,y=-1四、编程序题1编写应用程序求 1!+2!+10!。2编写一个应用程序求 100 以内的全部素数。3分别用 do-while 和 for 循环计算 1+1/2!+1/3!+1/4! 的前 20 项和。4一个数如果恰好等于它的因子之和,这个数就称为“完数” 。编写应用程序求 1000 之内的所有完数。5编写应用程序,使用 for 循环语句计算 8+88+888前 10 项之和。6编写应用程序,输出满足 1+2+3+nj/2) System.out.print(“ “+j);
15、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=8888) break;System.out.println(“满足条件的最大整数:“+(n-1);习题 4(第 4 章)一、 问答题1面向对象语言有哪三个特性?2类名应当遵守怎样的编程风格?3变量和方法的名字应当遵守怎样的编程风格?4类体内容中声明成员变量是为了体现对象的属性还是行为?5类体内容中定义的非构造方法是为了体现对象的属性还是行为?6什么时候使用构造方法?构造方法有类型吗?7类中的实例变量在什么时候会被分配内存空间?8什么叫方法的重载?构造方法可以重载吗?9类中的实例方法可以操作类变量(static 变量)吗?类方法(static 方法)可以操作实例变量吗?可以。不可以。10类中的实例方法可以用类名直接调用吗?