《Java面向对象程序设计案例教程习题答案 (王贺 ) 1-4章.docx》由会员分享,可在线阅读,更多相关《Java面向对象程序设计案例教程习题答案 (王贺 ) 1-4章.docx(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、习题解答第1章Java程序语言概述一、选择题D1. BC2. BA3. BC二、简答题Java语言具有以下一些特点:简单、面向对象、分布式、解释执行、鲁棒、平安、体系 结构中立、可移植、高性能、多线程以及动态性。1. 一般来讲,要创立一个Java程序需要以下几个过程:第一步:编写Java源程序。由于JDK没有提供专门的编辑工具,所以可以通过任意文 本编辑器进行编写Java源代码,例如记事本、notepad等,程序编辑完成后保存文件,然 后将文件的扩展名改为java”。第二步:编译源程序。在命令行窗口中首先找到编写的Java源程序的目录,然后通过 javac命令进行编译,将其编译成Java虚拟机
2、能够识别的字节码文件,以“.class”作为 文件扩展名。第三步:调试运行程序。生成字节码文件后,通过java命令对.class”文件进行解 释读取并翻译成计算机能执行的代码,执行完成后,查看执行结果。如果程序有编译错误或 者逻辑错误,那么需要通过提示来修改程序并纠正错误,然后重新进行编译、运行。2. Java SE (Java Platform, Standard Edition)o Java SE 以前称为 J2SE。它允许开发 和3部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。Java EE是在Java SE的基础上构建的,它提供Web服务、组件模型、管理和通信API
3、, 可以用来实现企业级的面向服务体系结构(service-oriented architecture, SOA)和Web2. 0 应用程序。Java ME (Java Platform, Micro Edition)。这个版本以前称为 J2ME。Java ME 为在 移动设备和嵌入式设备(比方手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一 个健壮且灵活的环境。3. 1.JAVA_HOME : JDK 安装目录。作用:其他相关环境变量配置可以引用,更加方便简洁。2. Path:%JAVA_HOME%bin;%JAVA_H0ME%jrebin;作用:使系统可以找到并调用java, exe
4、和javac. exeo3. classpath:. ;%JAVA_HOME%libdt. jar;%JAVAJOME%libtools, jar作用:classpath环境变量的作用-告诉java虚拟机所有的可执行文件.class的位置。三、编程题1.public class Testl_l public static void main(String args) System,(7wr.println(nI love Java!);public class Testl_2 public static void main(String args) int r = 3;float pai =
5、3.14f;float s = pai*r*r;System. out. print In (圆形的面积为:”+s);)第2章Java程序设计语法基础一、选择题D1. DD2. CB3. CD4. A二、简答题1. Java的基本数据类型包括整型、浮点型、字符型、布尔型float型常量应当用F或f做后缀,例如123. 4F。double型常量应当用D或d做后缀,例如123. 4d,允许省略后缀。2. 见书252小节三、编程题1.import java.util.Scanner;public class Test2_l public static void main(String args) S
6、canner input = new Scanner(System.in); System, ou七. print In (请输入第一个数字:); int a = input.nextlnt();System. out .print In (请输入第二个数字:); int b = input.nextlnt();System. out .printin (请输入第三个数字:”); int c = input.nextlnt();int max;if(ab) max = a;else max = b;)if(maxc) max = c;System. out. print In (最大的数是:n
7、+max);)public class Test2_2 public static void main(String args) int sum = 0;for(int i = l;i = 20;i+) int n = 1;for(int j = 1;j = i;j+) n = n * j;) sum = sum + n;)System. out .println(l!+2!+3! +.+20! =H+sum); )public class Test2_3 public static void main(String args) int i, j;for (i = 1; i = 100; i+
8、) if (i = 1 | i = 2) System.out.printIn(i);continue;)for (j = 2; j i; j+) if (i % j = 0)break;if (j = i - 1)System.out.println(i);public class Test2_4 public static void main(String args) for (int i = 1; i = 9; i+) for (int j = 1; j = i; j+) System.out.print(j + ”*” + i + = + i * j + Ht);/ t跳到下一个TAB
9、位置 )System.out.printIn();)5.public class Test2_5 public static void main(String args) int starLine = 7; /改变starLine的大小输出不同的效果 for (int i = 1; i = starLine; i+) for (int j = 1; j = i; j+) System.out.print(* );)System.out.printIn();)第3章数组与字符串一、选择题C1. DA2. DD3. CD4. CA二、简答题.见书 3. L1 和 3.1. 2。1 .见书 3. 1
10、. 3.数组下标的类型是长整型。数组最小的下标是0。表示数组名为a的第三个元素:假设数组为abc(),那么第三个元素为abc (2)。因为数组从0 开始,第三个就是2。2 .使用数组时要注意下标不能超出范围,如果超出范围,在程序运行时,系统就会抛出数 组下标越界异常。Exception in thread main java,lang,Array工ndexOutOfBoundsException: .main(Testjava:6)访问的时候注意下标,下标为从0开始。三、编程题public class Test3_l public static void main(String args) i
11、nt arr = new int 1,3,5,7,9,11,13,15,17,19 ;for(int i = 0; i arr.length / 2; i+)int temp = arri;arri = arrarr.length - i - 1;arrarr.length - i - 1 = temp;)for (int i = 0; i arr.length; i+) /System.out. print In (arr i); /每个一行 Sy stem. out. print ( H+arri); /全部一行 )System.out.println();)import java.uti
12、l.Scanner;/提示用户输入学生个数,学生姓名和他们的成绩,然后按照学生成绩降序 排列;public class Test private String name;private double grade;public double getGrade() return grade;)public void setGrade(double grade) this.grade = grade; public String getName() return name;public void setName(String name) this.name = name;public String
13、toString() return this.name; public static void main(String args) Scanner input = new Scanner(System.in);System.out.print In (”请输入学生个数”);int stuNum = input.nextlnt();Test objArr = new TeststuNum;for (int i = 0; i objArr.length; i+) objArri = new Test();System. out.println(请输入第 + (i + 1) + ”个学生的 姓名”)
14、;String name = input.next();objArri.setName(name);(请输入第” + (i + 1) + ”个学生的 成绩”);long grade = input.nextLong(); objArri.setGrade(grade);)System . out .print In (打印开始”);for (int i = 0; i objArr.length; i+) for (int j = i + 1; j objArr.length; j+) if (objArri.getGrade() objArrj.getGrade()Test s = new T
15、est();s = objArri;objArri = objArrj;objArrj = s;)for (int i = 0; i objArr.length; i+) Sy stem. out. printin (objArr i .getName() + ”的成绩是: + objArri.getGrade();)第4章类和对象一、选择题1. D2. B3. C4. D5. C6. D7. B8. A9. A10. A二、简答题1 .类是对象的抽象,对象是类的具体实例化。2 .定义一个类的步骤:1 .定义类使用关键字class,然后定义类名。2 .编写类的属性,即声明变量。3 .编写类的方
16、法。类的一般格式如下:class类名定义属性局部(成员变量)属性1的类型属性1;属性2的类型属性2;属性m的类型属性明定义方法局部方法1();方法2();方法n();3,详见442小节三、编程题1.public class People String name;int age;char sex; double height;People(String n,int a,char s,double h) name = n;age = a;sex = s;height = h;void talk() System. out . print In (“ 你好); int caculate(int a,
17、int b) return a+b;public static void main(String args) People s = new People(“张三“,工8 J 男,180.0);s.talk();System . out .print In ( 计算结果是:+s. caculate(23,45); )public class Point private double x;private double y;public Point() public Point(double x, double y) this.x = x;this.y = y;public static double distance(Point pl. Point p2) return Math.sqrt(Math.pow(pl.x - p2.x, 2) + Math.pok/(p2.y - pl.y, 2);public static void main(String args) Point pl = new Point(1, 2);Point p2 = new Point(0J 0);Sy stem. out. print In (Point .efts tance( pl p2);