Java程序设计教程 课后答案

  • 格式:doc
  • 大小:87.00 KB
  • 文档页数:9

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.在声明时直接赋值,语法格式为: type 数组名[ ]={数值1,数值2,……,数值n};

2、在赋值声明的时候,不需要给出数组的长度,编译器会视所给的数值个数来决定数组的长度,例如:

int mm[]={2,4,6,8,10,12,14,16,18,20}

若是对数组的元素进行有规律的赋值,则可以使用循环的方式进行

要输出使用数组里的元素,可以通过利用其下标来达到目的,只有一个下标值的数组就称为一维数组。Java数组的下标编号从0开始,如果声明的数组元素个数为n,则数组元素下标的变化只能是0~n-1。

在Java中,因为数组元素可以声明成任何类型,因此如果一维数组的元素还是一维数组的话,这种数组就被称为二维数组。二维数组声明语法格式如下:

type 数组名[ ][ ]=new type [个数][个数];

对于二维数组元素的赋值,同样可以在声明的时候进行:

例如:int ssa[][]={{20,25,26,22},{23,24,20,28}};二维数组赋值及输出可以借助一维数组。

二、填空题

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 static 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 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、 类和对象之间的关系

答:对象是客观世界中的某个具体事物。类是具有共同特性和行为的事物的抽象,是一种特殊数据类型。在类中包含了数据和与数据有关的操作(方法)。对象是类的实例。

2、 举例说明类(静态)成员的特点

答:1.特点一:静态变量的值是共享。比如说A类中有个静态变量V_A,A类创建了两个实例a,b。如果给实例a的变量V_A赋值,如a.V_A=1。那么这时候查看实例b.V_A变量 的值也为1,也就是说A对象实例化的两个类共享同一个变量值。