《Java程序设计教程 课后答案》由会员分享,可在线阅读,更多相关《Java程序设计教程 课后答案(9页珍藏版)》请在金锄头文库上搜索。
1、Java程序设计教程第3版课后答案第一章填空题:1、Java源程序文件的扩展名是java;Java源程序经编译后生成Java字节码文件,其扩展名是class。2、在Java语言中,将源代码翻译成java字节码文件时产生的错误称为编译错误,而将程序在运行中产生的错误称为运行错误。 3、一个Application源程序文件名为MyPro.java,如果使用Sun公司的Java开发工具SDK编译该源程序文件并使用其虚拟机运行这个程序的字节码文件,应该顺序执行如下两个命令:javac MyPro.java、java MyPro。4. 已知:int a =8,b=6; 则:表达式+a-b+的值为3。5.
2、 已知:boolean b1=true,b2; 则:表达式! b1 & b2 |b2的值为false。6. 表达式(18-4)/7+6的运算结果是8。7、表达式52 & 88 & 2336的运算结果是false。思考题: 1、源程序是什么?答:源程序文件的三要素:一、以package语句开始的包声明语句为可选,若有,只能有一个且必须是第一句,若没有,此文件将放到默认的当前目录下二、以import语句开始的类引入声明语句,数量可以是任意个三、class定义和interface定义中,由public开始的类定义只能有一个,且要求源程序文件名必须与public类名相同,Java语言对字符的大小写敏感
3、2、编译的作用是什么?答:用Java语言编辑的源程序的执行方法是采用先经过编译器编译、再利用解释器解释的方式来运行的。3、什么是Java的byte-codes,它的最大好处是什么?答:Java源程序经过编译器编译,会被转换成一种我们将它称之为“字节码(byte_codes)”的目标程序。“字节码”的最大特点便是可以跨平台运行。4、机器语言程序、高级语言程序以及可表示成Java字节码程序之间的区别是什么?答:机器语言是二进制编码表示,可以用机器直接运行。高级语言是贴近自然语言的,必须编译或解释才能让计算机运行,并且程序运行依赖该语言处理系统。可表示成java字节码的程序必须经过编译产生字节码程序
4、,java字节码程序可以实现跨平台运行。5、试简述J2SE、J2ME与J2EE的区别。答:(1) Java MEJava Micro Edition,用于嵌入式Java消费电子平台,其内存资源受限。不论是无线通讯、手机、PDA等小型电子装置都可采用其作为开发工具及应用平台。(2) Java SEJava Standard Edition,是Java最通行的版本,是用于工作站、PC机的Java标准平台。(3) Java EEJava Enterprise Edition,可扩展的企业应用Java平台,它提供了企业e-Business架构及Web Services服务,其开放的标准和优越的跨平台能
5、力使其适于开发大规模的、分布式联网应用程序以及基于Web的应用程序。6、练习使用浏览器查看Java API文档。7、SDK的编译命令是什么?答:javac8、Java标识符的命名有什么规定?答:一、用字母、下划线“_”或“$”作为开头字符,但数字不能作为变量的开头字符;二、标识符中间不能使用空格;三、不能使用Java的操作符,如“”、“”、“*”、“/”等;四、用户自定义标识符不能使用Java的关键字;五、严格区分大小写,即:my_var和My_var将被认为是两个不同的标识符。例:className、 $member、 _variable、 var_num、 varObj1 合法 1var、
6、 case、 are& 非法9、如何正确地定义变量? 变量命名遵循标识符的命名规则 约定: 变量名是以小写字母开头,而类名是以一个大写字母开头的 如果变量名包含了多个单词,而每个单词要组合在一起,则在每个单词的第一个字母大写,比如isVisible。 下划线(_)可以处在变量的任何地方,但是一般地它只用在标识符常量中分离单词,因为标识符常量的常量名都是用大写字母的,利用下划线可以看得更清楚。 一般来说,变量名命名要见名知义,不宜太简单,但也不宜过长。 10、当Java程序的表达式中有类型不符合的情况时,有哪些规则可以处理类型转换?答:Java允许它的用户有限度地进行数据类型转换处理。转换的方式
7、可分为“自动类型转换”和“强制类型转换”两种。 1.自动类型转换:整型、实型和字符型数据需要进行混合运算时,首先需要把不同类型的数据转化为同一类型,然后才能进行运算。转换时,系统将按照数据类型的表示范围由小到大的转换原则自动进行。数据类型的表示范围由小到大的顺序依次为: 2.强制类型转换:当表示范围大的数据类型要转换成表示范围小的数据类型时,需要用到强制类型转换。第二章一、思考题:1、什么是结构化程序设计?答:结构化程序设计有三种基本的程序流程结构:顺序、选择、循环。2、使用while和do.while循环有什么不同?答:do while循环语句功能与while语句类似,但do while语句
8、的循环终止判断是在循环体之后执行,即,它总是先执行一次循环体,然后判断条件表达式的值是否为真,若为真,则继续执行循环体;否则循环到此结束。与do while语句所不同的是,while语句如果开始时的判别表达式为假,则可能一次都不执行循环体而直接结束循环。3、简述break和continue语句的区别答:在Java中可以用break语句强行退出循环,继续执行循环外的下一个语句如果break出现在嵌套循环中的内层循环,则break语句只会退出当前的一层循环,以for循环流程为例:在循环主体中有break语句时,当程序执行到break,即会退出循环主体,到循环外层继续执行。 程序运行到continu
9、e语句时,就会停止循环体中剩余语句的执行,而回到循环的开始处继续执行循环。4、一维数组与二维数组如何声明、赋值及输出?答:一维数组声明语法格式如下: type 数组名 =new type 个数n对一维数组的赋值有如下方法:1在声明时直接赋值,语法格式为: type 数组名 =数值1,数值2,数值n;2、在赋值声明的时候,不需要给出数组的长度,编译器会视所给的数值个数来决定数组的长度,例如: int mm=2,4,6,8,10,12,14,16,18,20若是对数组的元素进行有规律的赋值,则可以使用循环的方式进行要输出使用数组里的元素,可以通过利用其下标来达到目的,只有一个下标值的数组就称为一维
10、数组。Java数组的下标编号从0开始,如果声明的数组元素个数为n,则数组元素下标的变化只能是0n-1。在Java中,因为数组元素可以声明成任何类型,因此如果一维数组的元素还是一维数组的话,这种数组就被称为二维数组。二维数组声明语法格式如下: type 数组名 =new type 个数个数;对于二维数组元素的赋值,同样可以在声明的时候进行:例如:int ssa=20,25,26,22,23,24,20,28;二维数组赋值及输出可以借助一维数组。二、填空题1、下面的程序运行后,其输出结果是_ #*#*#_ public class Yuedu1 public static void main(St
11、ring args) int i; for(i=1;i0)&(y5); System.out.println(y=+y+ x=+x); 第三章一、思考题1、 类和对象之间的关系答:对象是客观世界中的某个具体事物。类是具有共同特性和行为的事物的抽象,是一种特殊数据类型。在类中包含了数据和与数据有关的操作(方法)。对象是类的实例。2、 举例说明类(静态)成员的特点答:1.特点一:静态变量的值是共享。比如说A类中有个静态变量V_A,A类创建了两个实例a,b。如果给实例a的变量V_A赋值,如a.V_A=1。那么这时候查看实例b.V_A变量 的值也为1,也就是说A对象实例化的两个类共享同一个变量值。 2.特点二:不需要对象实例化就可以使用。比如A类中的静态变量V_A可以用A.V_A的形式使用。3、 Java中的包和Windows的文件夹有什么关系?答:目录层次结构非常类似,包对应着Windows文件系统的目录层次结构。4、 类的成员的访问权限和包的关系答:类的成员的权限用权