Java-2实用教学教材(第5版~)习题解答.doc
《Java-2实用教学教材(第5版~)习题解答.doc》由会员分享,可在线阅读,更多相关《Java-2实用教学教材(第5版~)习题解答.doc(51页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、#*习题解答习题解答习题习题 1(第(第 1 章)章)一、问答题 1Java 语言的主要贡献者是谁? 2开发 Java 应用程序需要经过哪些主要步骤? 3Java 源文件是由什么组成的?一个源文件中必须要有 public 类吗? 4如果 JDK 的安装目录为 D:jdk,应当怎样设置 path 和 classpath 的值? 5Java 源文件的扩展名是什么?Java 字节码的扩展名是什么? 6如果 Java 应用程序主类的名字是 Bird,编译之后,应当怎样运行该程序? 7有哪两种编程风格,在格式上各有怎样的特点? 1James Gosling 2需 3 个步骤: 1)用文本编辑器编写源文件
2、。 2)使用 javac 编译源文件,得到字节码文件。 3)使用解释器运行程序。 3源文件由若干个类所构成。对于应用程序,必须有一个类含有 public static void main(String args)的方法,含有该方法的类称为应用程序的主类。不一定,但至多有一个 public 类。 4set classpath=D:jdkjrelibrt.jar;.; 5. java 和 class 6. java Bird 7. 独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行)二、选择题 1B。2D。 1下列哪个是 JDK 提供的编译器? A)java.exe B)ja
3、vac.exe C)javap.exe 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(“您好,
4、很高兴认识您“); 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 得到
5、怎样的输出结果?1 (a)Person.java。 (b)两个字节码,分别是 Person.class 和 Xiti.class。 (c)得到“NoSuchMethodError” ,得到“NoClassDefFoundError: Xiti/class” ,得到“您好,很高兴 认识您 nice to meet you”习题习题 2(第(第 2 章)章)一、问答题1什么叫标识符?标识符的规则是什么?false 是否可以作为标识符。2什么叫关键字?true 和 false 是否是关键字?请说出 6 个关键字。3Java 的基本数据类型都是什么?4float 型常量和 double 型常量在表示上
6、有什么区别?5. 怎样获取一维数组的长度,怎样获取二维数组中一维数组的个数。1用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识 符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。false 不是#*标识符。 2关键字就是 Java 语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来 用。true 和 false 不是关键字。6 个关键字:class implements interface enum extends abstract。 3boolean,char,byte,short,int,long,float,double。 4floa
7、t 常量必须用 F 或 f 为后缀。double 常量用 D 或 d 为后缀,但允许省略后缀。 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下列哪一项叙述是正确的?b A. char 型字符在 Unicode 表中的位置范围是 0 至 32767 B. char 型字
8、符在 Unicode 表中的位置范围是 0 至 65535 C. char 型字符在 Unicode 表中的位置范围是 0 至 65536 D. char 型字符在 Unicode 表中的位置范围是-32768 至 32767 4以下哪两项是正确的 char 型变量的声明?beA. char ch = “R“; B. char ch = C. char ch = ABCD; D. char ch = “ABCD“; E. char ch = ucafe; F. char ch = u10100 5下列程序中哪些【代码】是错误的?2345public class E public static
9、void main(String args) int x = 8;byte b = 127; /【代码 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
10、属于操作题,解答略。 3属于操作题,解答略。 4.下列程序标注的【代码 1】 , 【代码 2】的输出结果是什么? 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
11、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 【代码 1】:4。 【代码 2】:b0=1。 5 【代码 1】:40。 【代码 2】:7四、编写程序1编写一个应用程序,给出汉字你 、 我 、 他在 Unicode 表中的位置。 2编写一个 Java 应用程序,输出全部的希腊字母。 1. public class E public static
12、 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;c0 Bm+0 Cm = 0 Dm100while(【代码】) n+; 3假设有 int x=1;以下哪个代码导致“可能损失精度,找到 int 需要 char”这样的编译错 误。 cAshort t
13、=12+a; Bchar c =a+1; Cchar m =a+x; Dbyte n =a+1;1A。 2C。 3C。三、阅读程序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(in
14、t i=1;i0) x-;System.out.print(“x=“+x+“,y=“+y);x=0,y=5x=-1,y=4x=-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 循
15、环语句计算 8+88+888前 10 项之和。 6编写应用程序,输出满足 1+2+3+nj/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=8888) break;System.out.println(“满足条件的最大整数:“+(n-1);习题习题 4(第(第 4 章)章)一、问答题1面向对象语言有哪三个特性? 2类名应当遵守怎样的编程风格? 3变量和方法的名字应当遵守怎样的
16、编程风格? 4类体内容中声明成员变量是为了体现对象的属性还是行为? 5类体内容中定义的非构造方法是为了体现对象的属性还是行为? 6什么时候使用构造方法?构造方法有类型吗? 7类中的实例变量在什么时候会被分配内存空间? 8什么叫方法的重载?构造方法可以重载吗? 9类中的实例方法可以操作类变量(static 变量)吗?类方法(static 方法)可以操作实 例变量吗?可以。不可以。 10类中的实例方法可以用类名直接调用吗?#*8一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参 数的个数不同,或者是参数的类型不同。可以。 9 10不可以。11简述类变量和实例变量的区别。 1
17、2this 关键字代表什么?this 可以出现在类方法中吗?1. 封装、继承和多态。 2当类名由几个单词复合而成时,每个单词的首字母使用大写。 3名字的首单词的首字母使用小写,如果变量的名字由多个单词组成,从第 2 个单词开 始的其它单词的首字母使用大写。 4属性 5行为 6用类创建对象时。没有类型 7用类创建对象时。 8一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参 数的个数不同,或者是参数的类型不同。可以。 9可以。不可以。 10不可以。 11一个类通过使用 new 运算符可以创建多个不同的对象,不同的对象的实例变量将被 分配不同的内存空间。所有对象的类变量都分
18、配给相同的一处内存,对象共享类变量。 12代表调用当前方法的对象。不可以。 二、选择题1下列哪个叙述是正确的? b A.Java 应用程序由若干个类所构成,这些类必须在一个源文件中。 B.Java 应用程序由若干个类所构成,这些类可以在一个源文件中,也可以分布在 若干个源文件中,其中必须有一个源文件含有主类。 C.Java 源文件必须含有主类。 D.Java 源文件如果含有主类,主类必须是 public 类。 2下列哪个叙述是正确的? d A.成员变量的名字不可以和局部变量的相同。 B.方法的参数的名字可以和方法中声明的局部变量的名字相同。 C.成员变量没有默认值。 D.局部变量没有默认值。
19、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)与 Dog(double m)互为重载的构造方法。 B.int Dog(int m)与 void Dog(double m)互为重载的非构造方
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 实用 教学 教材 习题 解答
限制150内