Java语言程序设计习题答案清华大学出版杜张思民版112章答案全.doc

上传人:h**** 文档编号:158530 上传时间:2018-07-12 格式:DOC 页数:110 大小:778.50KB
下载 相关 举报
Java语言程序设计习题答案清华大学出版杜张思民版112章答案全.doc_第1页
第1页 / 共110页
Java语言程序设计习题答案清华大学出版杜张思民版112章答案全.doc_第2页
第2页 / 共110页
Java语言程序设计习题答案清华大学出版杜张思民版112章答案全.doc_第3页
第3页 / 共110页
Java语言程序设计习题答案清华大学出版杜张思民版112章答案全.doc_第4页
第4页 / 共110页
Java语言程序设计习题答案清华大学出版杜张思民版112章答案全.doc_第5页
第5页 / 共110页
点击查看更多>>
资源描述

1、 1 第 1 章 Java 概述 【 1】为什么说 Java 的运行与计算机硬件平台无关? 解答 : Java 编译器能够产生一种与计算机体系结构无关的字节指令 (Byte Code),只要安装 了 Java 虚拟机, Java 就可以在相应的处理机上执行。 利用 Java 虚拟机就可以把 Java 字节码 程序跟具体的操作系统以及硬件平台分隔开来。 【 2】 Java 有什么特点? 解答 : Java 的特点有: (1) 简单性; (2) 面向对象; (3) 跨平台性; (4) 健壮性; (5) 安全性; (6) 可移植性; (7) 多线程性; (8) 动态性 。 【 3】试述 Java 开

2、发环境的建立过程。 解答 : Java 开发环境的建立过程如下 : 1 JDK 的下载与安装:从 http:/ 下载最新版的 JDK,单击下载后的文件即出现安装界面;在此界面中打击“ next”按钮即可; 2 JDK 的配置:安装好 JDK 后, 设安装路径为 c:jdk1.5; 还需要在环境变量中进行对应的配置。下面以 Windows 操作系统为例来进行配置。 1) 设置 JAVA_HOME 环境变量: 在桌面上用鼠标右键单击“我的电脑”,依次选择“属性”、“高级”、“环境变量”选项,新建一个系统变量,名称为 JAVA_HOME, 值为 c:jdk1.5; 2) 设置 CLASSPATH 环

3、 境 变 量 , 设 置 方 法 和 JAVA_HOME 一样,其值为c:jdk1.5libtools.jar;. ; 3) 更新 PATH 环境变量的值,编辑 PATH 系统变量,在最后添加 c:jdk1.5bin;. 。 【 4】 什么是 Java API? 它提供的核心包的主要功能是什么 ? 解答 : Java API 就是 Java 所提供的标准类库,它 把程序设计所需要的常用的方法和接口分 类封装成包。在 Java API 中主要包括核心 java 包、 javax 扩展包和 org 扩展包等。核心 java 包中封装了程序设计所需要的主要应用类。 【 5】 如何编写和运行 Java

4、 应用程序 ? 解答 : Java 应用程序的编写和运行过程: 1建立 Java 源文件:首先创建 Java 的源代码,即建立一个文本文档,包括有符合 Java 规范的语句。 2编译源文件:“编译”就是将一个源代码文件翻译成计算机可以理解和处理的格式的过程。Java 源程序编译后会生成一个字节码文件,即带扩展名 class 的文件。 Java 字节码文件中包含的使 Java 解释程序将要执行的指令码。 2 3执行字节码文件:通过 Java 虚拟机运行字节码文件。 【 6】 为什么要为程序添加注释,在 Java 程序中如何为程序添加注释 ? 解答 : 注释是程序中的说明性文字,是程序的非执行部分

5、。它的作用是为程序添加说明,增加程序的可读性。 Java 使用以下二种方式对程序进行注释: 1“ /”符号,它表示从“ /”符号开始到此行的末尾位置都作为注释。 2“ /* */”符号,它表示从 “ /*”开始到“ */”结束的部分都作为注释部分,可以使多 行注释。 【 7】 Java 工具集中的 javac、 java、 appletviewer 各有什么作用 ? 解答 : javac 的作用:它是 Java 编译器,用于将 Java 源程序编译成字节码文件; java 的作用:它是 Java 解释器,用于解释执行 Java 字节码文件; appletviewer 的作用: Applet 程

6、序浏览器,用于测试和运行 Applet 程序。 【 8】 如何建立和运行 Java Applet 程序 ? 解答 : Java Applet 程序的建立和运行过程: 1建立 Java 源文件:首先创建 Java 的源代码,即建立一 个文本文档,包括有符合 Java 规范的语句。 2编译源文件:将 Java 源文件编译成 Class 的字节码文件,然后再将字节码文件嵌入到一个 HTML 文件中。 3利用浏览器解释执行 html 文件 。 第 2 章 Java 基础 【 1】什么是数据类型?为什么要将数据划分为不同的数据类型? 解答 : Java 是一门强类型语言。数据类型是用来区分不同的数据;由

7、于数据在存储时所需要的容量各不相同,不同的数据就必须要分配不同大小的内存空间来存储,所有就要将数据划分成不同的数据类型。 【 2】 Java 中有哪些数据类型? 解答 : Java 中有 8 种基本数据类型:字节型 (byte),短整型 (short),整型 (int),长整型 (long),字符型 (char),单精度型 (float),双精度型 (double),布尔型 (boolean)。 【 3】声明变量的作用是什么? 解答 :变量时一个数据存储空间的表示,将数据指定给变量,就是将数据存储至对应的内存空间,调用变量,就是将对应的内存空间的数据取出来使用。声明变量就是申请一个内存空间。

8、【 4】若 x=4,y=2,计算 z 值: (1) z=x /初始化 x,y,z z = x /求 z=x即 x 与 y 的值 System.out.println(“4_1:“+z); z = x | y; /求 z=x|y;即 x 或 y 的值 System.out.println(“4_2:“+z); z = x y; /求 z=xy;即 x 异或 y 的值 System.out.println(“4_3:“+z); z = x y; /求 z=xy;即 x 右移 y 位的值 System.out.println(“4_4:“+z); z = x; /求 z=x;即 x 位反的值 Sys

9、tem.out.println(“4_5:“+z); z = x y; /求 z=xy;即 x 无符号右移 y 位的值 System.out.println(“4_7:“+z); 【 5】假设 x=10, y=20, z=30, 求下列布尔表达式的值 : (1) xy System.out.println(“5_5:“+flag); /求 xy|yx 布尔值 flag = x y | y x; System.out.println(“5_6:“+flag); /求 !(x= 1 System.out.println(“k=”+k); 解答 : public class Test_11 publ

10、ic static void main(String args) int k; for (k = 1; k 4) break; System.out.println(“k=“ + k); 6 【 12】编写程序,求 10 21k k的值。 解答 : public class Test_12 public static void main(String args) int k,sum=0; for(k=1;k=10;k+) sum=sum+k*k; System.out.println(“sum=“+sum); 【 13】 编写一程序,输入 3 个数,能按大小顺序输出。 解答 : import

11、java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Test_13 public static void main(String args) throws NumberFormatException,IOException InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); int a = new

12、int3; int k, temp; System.out.println(“请输入 3 个数字 (每输入一个数字后请换行 )“); for (int i = 0; i 3; i+) ai = Integer.parseInt(br.readLine(); for (int i = 0; i a.length; i+) k = i; for (int j = k + 1; j a.length; j+) if (aj ak) k = j; if (k != i) temp = ai; ai = ak; ak = temp; 7 System.out.println(“从小到大排序: “); f

13、or (int i = 0; i a.length; i+) System.out.print(ai + “ “); 【 14】编写一各 Java 程序,查找 1 100 之间的素数并将运行结果输出。 解答 : public class Test_14 public static void main(String args) int m, k, i, n = 0; boolean flag; for (m = 1; m = 100; m=m+2) flag = true; k = (int)Math.sqrt(m); for (i = 2; i = k; i+) if (m % i = 0)

14、flag = false; break; if (flag) System.out.print(m + “ “); n = n + 1; if (n % 10 = 0) System.out.println(); 【 15】运行下面程序,并分析其执行过程: Public class multiplication public static void main(String args ) int i,j; for (i=1;i10;i+) for (i=1;i10;i+) System.out.print(i+”*”+j+”=”+i*j+”); System.out.println(); 8 解

15、答 : public class Test_15 public static void main(String args) int i, j; for (i = 1; i 10; i+) for (j = 1; j = i; j+) System.out.print(i + “*“ + j + “=“ + i * j + “ “); System.out.println(); /* 结果: 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6

16、*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 乘法表 */ 【 16】编写程序实现:输入一组整数,比较并输出其中的最大值和最小值,再将数组元素从小到大排序并将运行结果输出。 解答 : import java.io.BufferedReader; i

17、mport java.io.IOException; import java.io.InputStreamReader; public class Test_16 public static void main(String args) throws NumberFormatException,IOException InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); int a = new int5; int k, temp; System

18、.out.println(“请输入 5 个数字 (每输入一个数字后请换行 )“); for (int i = 0; i 5; i+) ai = Integer.parseInt(br.readLine(); for (int i = 0; i a.length; i+) k = i; 9 for (int j = k + 1; j a.length; j+) if (aj ak) k = j; if (k != i) temp = ai; ai = ak; ak = temp; System.out.println(“最小数字 : “+a0); System.out.println(“最大数字

19、 : “+aa.length-1); System.out.println(“从小到大排序: “); for (int i = 0; i a.length; i+) System.out.print(ai + “ “); 【 17】编写打印下列图形的程序: (1) (2) (3) # * * * * * * * $ # # * * * * * $ $ $ # # # * * * $ $ $ $ $ # # # # * $ $ $ $ 解答 : public class Test_17_1 public static void main(String args) int i, j; for (i

20、 = 1; i = 4; i+) for (j = 1; j = i; j+) System.out.print(“#“ + “ “); System.out.println(); public class Test_17_2 public static void main(String args) int i, j, k; for (i = 0; i 4; i+) 10 for (k = 0; k i; k+) System.out.print(“ “); for (j = 0; j = 6 - 2 * i; j+) System.out.print(“*“); System.out.pri

21、ntln(); public class Test_17_3 public static void main(String args) int i=0,blank,j,star,input=5;/input 是输入的行数 String s=“; for( i = 0;i input; i+ ) blank = Math.abs( i - input/2); for( j = 1 ; j = blank; j+ ) s += “ “; star = input - 2 * blank; for( j = 1; j = star ; j+ ) s += “$“; s += “n“ ; System

22、.out.print( s ); 【 18】 考虑一个 2 3 的数组 a。 (1) 为 a 写一个设声明。试问,这样的声明使 a 有多少行,多少列,多少元素? (2) 写出 a 的第 1 行的所有元素的名字。 (3) 写一条语句,置行 1 列 2 的元素为零。 (4) 写一个嵌套 for 结构,将 a 的每个元素初始化为零。 (5) 定一条语句,求第 3 列元素的和。 解答 : (1) 数组 a 有 2 行, 3 列,元素个数为 6 (2) 第一行元素的名字为 a00,a01,a02 (3) 置行 1 列 2 的元素为 0,语句是 a01=0; (4) for(int i=0;i2;i+) for(in j=0;j3;j+) aij=0;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 复习参考

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。