Java程序设计教程 课后答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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. 已知:boolean b1=true,b2; 则:表达式! b1 && b2 ||b2的值为_false_。
6. 表达式(18-4)/7+6的运算结果是_8_。
7、表达式5>2 && 8<8 && 23<36的运算结果是_false_。
思考题:
1、源程序是什么?
答:源程序文件的三要素:
一、以package语句开始的包声明语句为可选,若有,只能有一个且必须是第一句,若没有,此文件将放到默认的当前目录下
二、以import语句开始的类引入声明语句,数量可以是任意个
三、class定义和interface定义中,由public开始的类定义只能有一个,且要求源程序文件名必须与public类名相同,Java语言对字符的大小写敏感
2、编译的作用是什么?
答:用Java语言编辑的源程序的执行方法是采用先经过编译器编译、再利用解释器解释的方式来运行的。
3、什么是Java的byte-codes,它的最大好处是什么?
答:Java源程序经过编译器编译,会被转换成一种我们将它称之为“字节码(byte_codes)”的目标程序。“字节码”的最大特点便是可以跨平台运行。
4、机器语言程序、高级语言程序以及可表示成Java字节码程序之间的区别是什么?
答:机器语言是二进制编码表示,可以用机器直接运行。高级语言是贴近自然语言的,必须编译或解释才能让计算机运行,并且程序运行依赖该语言处理系统。可表示成java字节码的程序必须经过编译产生字节码程序,java字节码程序可以实现跨平台运行。
5、试简述J2SE、J2ME与J2EE的区别。
答:(1) Java ME——Java Micro Edition,用于嵌入式Java消费电子平台,其内存资源受限。不论是无线通讯、手机、PDA等小型电子装置都可采用其作为开发工具及应用平台。(2) Java SE——Java Standard Edition,是Java最通行的版本,是用于工作站、PC机的Java标准平台。
(3) Java EE——Java Enterprise Edition,可扩展的企业应用Java平台,它提供了企业e-Business 架构及Web Services服务,其开放的标准和优越的跨平台能力使其适于开发大规模的、分布式联网应用程序以及基于Web的应用程序。
6、练习使用浏览器查看Java API文档。
7、SDK的编译命令是什么?
答:javac
8、Java标识符的命名有什么规定?
答:一、用字母、下划线“_”或“$”作为开头字符,但数字不能作为变量的开头字符;二、标识符中间不能使用空格;
三、不能使用Java的操作符,如“+”、“-”、“*”、“/”等;
四、用户自定义标识符不能使用Java的关键字;
五、严格区分大小写,即:my_var和My_var将被认为是两个不同的标识符。
例:className、$member、_variable、var_num、varObj1 合法
1var、case、are& 非法
9、如何正确地定义变量?
变量命名遵循标识符的命名规则
约定:
变量名是以小写字母开头,而类名是以一个大写字母开头的
如果变量名包含了多个单词,而每个单词要组合在一起,则在每个单词的第
一个字母大写,比如isVisible。
下划线(_)可以处在变量的任何地方,但是一般地它只用在标识符常量中
分离单词,因为标识符常量的常量名都是用大写字母的,利用下划线可以看
得更清楚。
一般来说,变量名命名要见名知义,不宜太简单,但也不宜过长。
10、当Java程序的表达式中有类型不符合的情况时,有哪些规则可以处理类型转换?
答:Java允许它的用户有限度地进行数据类型转换处理。转换的方式可分为“自动类型转换”和“强制类型转换”两种。
1.自动类型转换:整型、实型和字符型数据需要进行混合运算时,首先需要把不同类
型的数据转化为同一类型,然后才能进行运算。转换时,系统将按照数据类型的表示范围由小到大的转换原则自动进行。数据类型的表示范围由小到大的顺序依次为:
2.强制类型转换:当表示范围大的数据类型要转换成表示范围小的数据类型时,需要
用到强制类型转换。
第二章
一、思考题:
1、什么是结构化程序设计?
答:结构化程序设计有三种基本的程序流程结构:顺序、选择、循环。
2、使用while和do...while循环有什么不同?
答:do while循环语句功能与while语句类似,但do while语句的循环终止判断是在循环体之后执行,即,它总是先执行一次循环体,然后判断条件表达式的值是否为真,若为真,则继续执行循环体;否则循环到此结束。
与do while语句所不同的是,while语句如果开始时的判别表达式为假,则可能一次都不执行循环体而直接结束循环。
3、简述break和continue语句的区别
答:在Java中可以用break语句强行退出循环,继续执行循环外的下一个语句
如果break出现在嵌套循环中的内层循环,则break语句只会退出当前的一层循环,以for循环流程为例:在循环主体中有break语句时,当程序执行到break,即会退出循环主体,到循环外层继续执行。
程序运行到continue语句时,就会停止循环体中剩余语句的执行,而回到循环的开始处继续执行循环。
4、一维数组与二维数组如何声明、赋值及输出?
答:一维数组声明语法格式如下:
type 数组名[ ]=new type [个数n]
对一维数组的赋值有如下方法:
1.在声明时直接赋值,语法格式为: