Java程序设计教程 课后答案_第1页
Java程序设计教程 课后答案_第2页
Java程序设计教程 课后答案_第3页
Java程序设计教程 课后答案_第4页
Java程序设计教程 课后答案_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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+的值为

2、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开头的类定义只

3、能有一个,且要求源程序文件名必需与public类名相同,Java语言对字符的大小写敏感2、编译的作用是什么?答:用Java语言编辑的源程序的执行方法是接受先经过编译器编译、再利用解释器解释的方式来运行的。3、什么是Java的byte-codes,它的最大好处是什么?答:Java源程序经过编译器编译,会被转换成一种我们将它称之为“字节码(byte_codes)”的目标程序。“字节码”的最大特点便是可以跨平台运行。4、机器语言程序、高级语言程序以及可表示成Java字节码程序之间的区分是什么?答:机器语言是二进制编码表示,可以用机器直接运行。高级语言是贴近自然语言的,必需编译或解释才能让计算机运行,

4、并且程序运行依靠该语言处理系统。可表示成java字节码的程序必需经过编译产生字节码程序,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平台,它供应了企

5、业e-Business架构及Web Services服务,其开放的标准和优越的跨平台力量使其适于开发大规模的、分布式联网应用程序以及基于Web的应用程序。6、练习使用扫瞄器查看Java API文档。7、SDK的编译命令是什么?答:javac8、Java标识符的命名有什么规定?答:一、用字母、下划线“_”或“$”作为开头字符,但数字不能作为变量的开头字符;二、标识符中间不能使用空格;三、不能使用Java的操作符,如“”、“”、“*”、“/”等;四、用户自定义标识符不能使用Java的关键字;五、严格区分大小写,即:my_var和My_var将被认为是两个不同的标识符。例:className、 $m

6、ember、 _variable、 var_num、 varObj1 合法 1var、 case、 are& 非法9、如何正确地定义变量?· 变量命名遵循标识符的命名规章· 商定:· 变量名是以小写字母开头,而类名是以一个大写字母开头的· 假如变量名包含了多个单词,而每个单词要组合在一起,则在每个单词的第一个字母大写,比如isVisible。· 下划线(_)可以处在变量的任何地方,但是一般地它只用在标识符常量中分别单词,由于标识符常量的常量名都是用大写字母的,利用下划线可以看得更清楚。· 一般来说,变量名命名要见名知义,不宜太

7、简洁,但也不宜过长。 10、当Java程序的表达式中有类型不符合的状况时,有哪些规章可以处理类型转换?答:Java允许它的用户有限度地进行数据类型转换处理。转换的方式可分为“自动类型转换”和“强制类型转换”两种。· 1.自动类型转换:整型、实型和字符型数据需要进行混合运算时,首先需要把不同类型的数据转化为同一类型,然后才能进行运算。转换时,系统将依据数据类型的表示范围由小到大的转换原则自动进行。数据类型的表示范围由小到大的挨次依次为:· 2.强制类型转换:当表示范围大的数据类型要转换成表示范围小的数据类型时,需要用到强制类型转换。其次章一、思考题:1、什么是结构化程序设计?

8、答:结构化程序设计有三种基本的程序流程结构:挨次、选择、循环。2、使用while和do.while循环有什么不同?答:do while循环语句功能与while语句类似,但do while语句的循环终止推断是在循环体之后执行,即,它总是先执行一次循环体,然后推断条件表达式的值是否为真,若为真,则连续执行循环体;否则循环到此结束。与do while语句所不同的是,while语句假如开头时的判别表达式为假,则可能一次都不执行循环体而直接结束循环。3、简述break和continue语句的区分答:在Java中可以用break语句强行退出循环,连续执行循环外的下一个语句假如break消灭在嵌套循环中的内

9、层循环,则break语句只会退出当前的一层循环,以for循环流程为例:在循环主体中有break语句时,当程序执行到break,即会退出循环主体,到循环外层连续执行。 程序运行到continue语句时,就会停止循环体中剩余语句的执行,而回到循环的开头处连续执行循环。4、一维数组与二维数组如何声明、赋值及输出?答:一维数组声明语法格式如下: type 数组名 =new type 个数n对一维数组的赋值有如下方法:1在声明时直接赋值,语法格式为: type 数组名 =数值1,数值2,数值n;2、在赋值声明的时候,不需要给出数组的长度,编译器会视所给的数值个数来打算数组的长度,例如: int mm=2

10、,4,6,8,10,12,14,16,18,20若是对数组的元素进行有规律的赋值,则可以使用循环的方式进行要输出访用数组里的元素,可以通过利用其下标来达到目的,只有一个下标值的数组就称为一维数组。Java数组的下标编号从0开头,假如声明的数组元素个数为n,则数组元素下标的变化只能是0n-1。在Java中,由于数组元素可以声明成任何类型,因此假如一维数组的元素还是一维数组的话,这种数组就被称为二维数组。二维数组声明语法格式如下: type 数组名 =new type 个数个数;对于二维数组元素的赋值,同样可以在声明的时候进行:例如:int ssa=20,25,26,22,23,24,20,28;

11、二维数组赋值及输出可以借助一维数组。二、填空题1、下面的程序运行后,其输出结果是_ #*#*#_ public class Yuedu1 public static void main(String args) int i; for(i=1;i<6;i+) if(i%2=1) System.out.print("#"); continue; System.out.print("*"); System.out.println(); 2、下面的程序经运行后,其输出结果是( x1=10x2=6 )public class Yuedu3 public st

12、atic void main(String args) int x,y; System.out.print("x1="+add(4,6); System.out.print("x2="+add(3,add(1,2); static int add(int x,int y) return x+y; 3、下面的程序经运行后,其输出结果是_72_ public class Yuedu4 public static void main(String args) System.out.print(fun(4); static int fun(int n) int

13、t; if(n=0)|(n=1) t=3; else t=n*fun(n-1); return t; 4、下面的程序经运行后,其输出结果是_ y=1 x=0_ public class Yuedu1 public static void main(String args) int x,y; x=y=0; do y+; x*=x; while (x>0)&&(y>5); System.out.println("y="+y+" x="+x); 第三章一、思考题1、 类和对象之间的关系答:对象是客观世界中的某个具体事物。类是具有共同

14、特性和行为的事物的抽象,是一种特殊数据类型。在类中包含了数据和与数据有关的操作(方法)。对象是类的实例。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、

15、 类的成员的访问权限和包的关系答:类的成员的权限用权限关键字设置,类的成员的权限和包的关系如下:权限:Public、protected、默认的同一包允许访问。权限:private同一包也不允许访问。权限:Public、protected的不同包子类允许访问权限:默认、private的不同包子类不允许访问5、 方法的重载和掩盖的区分答:重载与掩盖的区分 1、方法的掩盖是子类和父类之间的关系,是垂直关系;方法的重载是同一个类中方法之间的关系,是水平关系。 2、掩盖只能由一个方法,或只能由一对方法产生关系;方法的重载是多个方法之间的关系。 3、掩盖要求参数列表相同;重载要求参数列表不同。 4、掩盖关

16、系中,调用那个方法体,是依据对象的类型(对象对应存储空间类型)来打算;重载关系,是依据调用时的实参表与形参表来选择方法体的。二、填空题1、 在声明一个类变量时,前面必需要加上_static_修饰符2、 _import_语句可以导入Java的有用包中的全部类3、 方法的掩盖是_后期_绑定,方法的重载是_前期_绑定4、 写出一个表达式:输出角度30°的余弦值_Math.cos(30*3.14/180)_5、 为类Class1创建一个静态整型变量s_data:static int s_data。6、 写出抽象类IamAbstract的类头定义语句:public abstraact clas

17、s IamAbstract。7、 定义一个抽象方法abstractMethod,没有形式参数,返回值为布尔型变量:public abstract boolean abstractMethod()。8、 写出定义最终类IamFinal的类头定义语句:final class IamFinal。9、 定义浮点常量PI,其取值为3.1415926:float PI=3.1415926f。三、选择题 1、有关类的说法正确的是( )A类具有封装性,所以类的数据是不能被访问的B类具有封装性,但可以通过类的公共接口访问类中的数据C声明一个类时,必需用public修饰符D每个类中,必需有main方法,否则程序无

18、法运行2、将类的成员的访问权限设置为默认的,则该成员能被( )A.同一包中的类访问B.其他包中的类访问C.全部的类访问B.全部的类的子类访问3、下面是正确的方法重载的是( )A. int fun(int a, float b) float fun(int a, float b) B. int fun(int a, float b) float fun(int x, float y) C. float fun(float a) float fun(float a, float b) D. float fun1(int a, float b) float fun2(int a, float b)

19、4、下面关于继承的说法正确的是( )A 超类的对象就是子类的对象B 一个类可以有几个超类C 一个类只能有一个子类D 一个类只能有一个超类5、下面关于多态性的说法正确的是( )A一个类中,不能有同名的方法B子类中不能有和父类中同名的方法C子类中可以有和父类中同名且参数相同的方法D多态性就是方法的名字可以一样,但返回的类型必需不一样第四章一、思考题1、Applet与Application的区分答:Application是一种可独立运行的程序,Applet是一种存储于Internet/Intranet服务器(Server)上的Java程序,可以被多个客户机下载并在客户端由扫瞄器供应的Java虚拟机J

20、VM运行。Applet必需通过<applet>标签嵌入HTML程序在扫瞄器中运行。2、小应用程序在其生命周期中,init()、start()、stop()、destroy()、paint()方法执行时机?答:init()初始化,是小应用程序的入口点。执行时机是在第一次扫瞄web页面时执行一次。Stat()启动对应的方法,执行时机是扫瞄器载入程序时执行init()之后、离开上述web页面之后重新回来、使用扫瞄器的缩放按钮转变窗口大小。Stop()执行时机是离开小应用程序所在web页面、刷新该页面、关闭该页面、图标化扫瞄器。Destroy()执行时机关闭web页面时执行一次。3、大事处

21、理的基本编程方法?答:用于监听xxEvent大事的编程的基本方法如下:· 第一步:程序开头加上import java.awt.event.*语句。对java.awt中的组件实现大事处理必需都引入java.awt.event包。· 其次步:实现大事监听者所对应的接口,即添加:implements xxListener(大事所对应的接口)。· 第三步:设置大事监听者:大事源.addxxListener(大事监听者)。· 第四步:编程实现对应大事接口中的全部方法。4、Swing与awt的异同答:awt与swing都是Java用于实现图形用户界面的类库,swin

22、g是JFC的一部分,它在技术上比awt迈进了一步; 在外观效果上也比awt有进步。 二、填空题:1、 小应用程序的公共类必需是_java.applet.Applet的子类2、 小应用程序生命期中_init( )_方法只执行一次,_start( )_方法可被反复执行多次3、 将复选框用_java.awt.CheckboxGroup_进行分组即得到单选钮4、 Java.awt.Font类用于设置_文本字体_5、绘制直线、圆、弧、多边形等绘图方法在_Java.awt.Graphics_包中第五章一、思考题:1、什么时候发生特别?答:在程序运行过程中,任何中断正常程序流程的状况都是错误或特别。例如,发

23、生下列状况时,会消灭特别:· 想打开的文件不存在;· 网络连接中断;· 操作数超出预定范围,例如,除数为0;· 数组元素下标越界。2、要被监视特别的代码必需放在哪个语句块中?答:Java中特别处理的一般形式是:try /被监视的代码块catch(特别类1 对象名1)/特别类1的特别处理代码块3、catch起什么作用?答:catch实现特别类型的捕获。4、特别未被捕获会发生什么结果答:若有匹配则执行相应的处理代码,然后连续执行本try块之外的其他程序。否则这个没有被程序捕获的特别将由缺省处理程序处理,缺省处理程序将显示特别的字符串、特别发生位置等信息,终止整个程序的执行并退出。5、throws起什么作用?答:编程人员可以用throw语句自行抛出特别,throw语句的语法如下:throw Throwable类或其子类的对象。throws语句用于声明一个方法可能引发的全部特别,这些特别是要求调用该方法的程序处理的。其语法为: 返回类型 方法名(参数表) throws 特别类型表 /方法体6、在嵌套的try块中,内部代码块没有捕获的特别如何处理?答:在某个方法中,某一个try块又包含另一try块,当内层try块抛出特别对象时,首先对内层try块的catch语句进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论