《Java2实用教程》课后习题参考答案(第三版)

更新时间:2023-10-31 03:03:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

www.3che.com 三车资料库——学习资源共享专家 Java2 实用教程(第三版)

课后习题参考答案 第 1 章 Java 入门

1. 开发与运 行 Jav a 程序需要经过哪些主要步 骤和过程?

答 :( 1)编写 Java 源文件:使用文本编辑器(Edit 或记事本),拓展名为.java (2)编译 Java 源文件:使用 Java 编译器(javac.exe)。得 到 字 节 码 文 件*.class (3)运行 Java 程序:Java 应用程序使用 Java 解释器(java.exe)执行字节码文件;

Java 小应用程序使用支持 Java 标准的浏览器来执行。

2. 怎样区分应用程序和小应 用程序?应用程序的主类或小应用程序的主类必 须 用 publi c 修饰吗? 答: ①应用程序必须有 main 方法,这个方法是程序执行的入口。

小应用程序没有 main 方法。

②应用程序的主类不一定用 public 修饰;小应用程序的主类必须用 public 修饰。

3. Jav a 程序是由什么组成的? 一个程序中必须要 有 publi c 类吗?Jav a 源文件的命名规则是怎样的 ? 答: ①Java 程序由类组成。

②应用程序可以没有 public 类;小应用程序一定有一个类是 public 类 ( 主 类 )。 ③应用程序:如果只有一个类,源文件名与该类的类名相同,拓展名为.java; 有多个

类时,如果有 public 类(最多一个),源文件名与 public 类的类 名相同,拓展名是.java;没有 public 类,源文件名与任何一个类的类名 相同即可,拓展名为.java。

小应用程序:源文件名与主类的类名相同,拓展名是.java。

4. 在运行小程序 的 HTM L 文件中可以使 用 codebas e 属性指定小程序的字节码 所驻留的目录。如果不使 用 codebas e 属性,小程序的字节码文 件必须和运行它 的 HTM L 文件在同一目录中。编写 一个小程序并将小程 序的字节码存放在某个 目录中,比 如 C:\\5000 ;把运行该小程序 的 HTM L 文件(注意其中 的 codebas e 属性):

存放在另一个

目录中。

答:

以书中小应用程序为例进行说明: ①编写 Java 小应用程序源代码

import

java.applet.*; import java.awt.*;

public class Boy extends Applet {

public void paint(Graphics g) {

g.setColor(Color.red);

g.drawString(\我一边喝着咖啡,一边学 Java 呢\g.setColor(Color.blue); g.drawString(\我学得很认真\ }

}

②将上述代码命名为 Boy.java 并进行编译得到 Boy.class 字节码文件;将得到的字节码文件存放在

www.3che.com 三车资料库——学习资源共享专家 C:\\5000 文件夹下;

③编写小应用程序的 HTML 源文件:

④将上述编写好的代码命名为 Boy.html;并将此文件存放在 C:\\5000 文件夹以外的任意一个文件夹 中(如 C:\\1000); ⑤运行 Boy.html。

第 2 章 标识符、关键字和数据类型

1. 什么叫标识符?标识符的 规则是什么? 答:①用来标识类名、变量名、、方法名、类型名、数组名、文件名的有效字符序列。

②由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字字符,而且关键字不能作为标 识符。

2. 什么叫关键字?请说 出 5 个关键字。

答:①Java 语言中已经被赋予特定意义的一些单词。

②class break public return static extends 等。 3. Jav a 的基本数据类型都是什 么? 答:boolean(逻辑型)

char(字符型)

float、double(浮点型) byte、short、int、long(整型)。

4. 下列哪些语句是错误的 :

int x = 8; byte b = 127; b = x;

答:b=x 语句错误;原因是高级别的变量赋值给低级别的变量时,一定要用显式转换即 b=(byte)x; 。 5. 下列程序的输出结果是什 么?

public class E

{

public static void main(Strin g args[]) {

long[] a={1,2,3,4 };

long[] b={100,200 ,300,400,500}; b=a;

System.ou t.println(\数 组 b 的长度:\); System.ou t.println(\; }

}

答: 数组 b 的长度:4

b[0]=1 public class E {

public static void main(Strin g args[]) {

for(int i=20302;i< 20322;i++) {

System.ou t.println((char)i);

6. 上机运行下列程序,注意 观察输出结果。

} }

www.3che.com 三车资料库——学习资源共享专家 }

答: 低住佐佑佒体佔何佖佗佘余佚佛作佝佞佟你佡

7. System.out.p rintln(“你好”);可输出字符串,也可以使 用 System.out. println( )输出变量或表 达 式 的 值 , 只 需 使 用 并 置 符 号 “ + ” 将 变 量 、 表 达 式 或 一 个 常 数 值 与 一 个 字 符 串 并 置 即 可 , 如 : System.ou t.println(“ ”+x);System.out. println(“:”+123+“大于”+122) ;等。上机调试下列 程序,注意观察结果, 特别注 意 System.out. print( )和 System.out.p rintln( )的区别。

public class OutputData {

public static void main(Strin g args[]) {

int x=234,y=432 ; System.ou t.println(x+\System.ou t.print(\我输出结果后不回车\System.ou t.println(\我输出结果后自动回车到下 一行\System.ou t.println(\\ System.ou t.println(\\+x+y+\=234 432\ } } 答: 234<468

我输出结果后不回车我输出结果后自动回车到下一行 x+y= 666

234432=234432

8. 编写一 个 Jav a 应用程序,输出全部的希腊 字母。 答:

public class XLWords {

public static void main(String args[]) {

for(int i=913;i<930;i++) {

System.out.print((char)i+\\ }

for(int j=931;j<938;j++)

{

System.out.print((char)j+\\ }

for(int k=945;k<962;k++) {

System.out.print((char)k+\\ }

for(int t=963;t<=969;t++) {

} } }

www.3che.com 三车资料库——学习资源共享专家 System.out.print((char)t+\\;

第 3 章 运算符、表达式和语句

1. 下列程序的输出结果是什 么?

public class E {

public static void main(Strin g args[]) {

char x='你',y='e', z= ' 吃'; if(x>'A') {

y='爱'; z= ' 情'; } else

y='我'; z= ' 她'; System.out.println(\\ z) ;

} } 答:

你爱她 public class E3 {

public static void main(Strin g args[]) {

char c='\\0';

for(int i=1;i<=4;i+ +) {

switch(i) {

case

1:c='b'; 2:c='e'; 2. 下列程序的输出结果是什 么?

System.ou t.print(c); case break;

case 3:c='p'; System.ou t.print(c); default: System.ou t.print(\ }

System.ou t.print(c);

} }

} 答:beep!!

www.3che.com 三车资料库——学习资源共享专家 3. 编写应用程序, 求 1!+2!+…+10!。 答:

class Fact {

public static void main(String args[]) {

int fact,sum=0; for(int i=1;i<=10;i++) {

fact=1;

for(int j=1;j<=i;j++)

fact*=j; sum+=fact;

}

System.out.println(\到 10 的阶乘之和是:\} }

4. 编写一个应用程序, 求 10 0 以内的全部素数。 答:

class Primes {

public static void main(String args[]) {

int w=1;

for(int i=2;i<=100;i++) {

for(int j=2;j

w=i%j; if(w==0) break; } if(w!=0)

System.out.println(i+\是素数\ } } } 5. 分别 用 do―class Sum

whil e 和 fo r 循环计 算 1+1/2!+1/3! +1/4!+…的 前 2 0 项

和。 答: ①for 循环

本文来源:https://www.bwwdw.com/article/ujh2.html

Top