下面是小编为大家整理的Java面向对象程序设计案例教程,,习题答案,(王贺,),1-4章(全文),供大家参考。
习题解答 第 第 1 章 Java 程序语言概述
一、选择题 1.D 2.B 3.C 4.B 5.
A 6.
B 7.C
二、简答题 1. Java 语言具有以下一些特点:简单、面向对象、分布式、解释执行、鲁棒、安全、体系结构中立、可移植、高性能、多线程以及动态性。
2. 一般来讲,要创建一个 Java 程序需要以下几个过程:
第一步:
编写 Java 源程序。由于 JDK 没有提供专门的编辑工具,所以可以通过任意文本编辑器进行编写 Java 源代码,例如记事本、notepad 等,程序编辑完成后保存文件,然后将文件的扩展名改为“.java”。
第二步:编译源程序。在命令行窗口中首先找到编写的 Java 源程序的目录,然后通过javac 命令进行编译,将其编译成 Java 虚拟机能够识别的字节码文件,以“.class”作为文件扩展名。
第三步:调试运行程序。生成字节码文件后,通过 java 命令对“.class”文件进行解释读取并翻译成计算机能执行的代码,执行完成后,查看执行结果。如果程序有编译错误或者逻辑错误,则需要通过提示来修改程序并纠正错误,然后重新进行编译、运行。
3.
Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允许开发和 3 部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。
Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web2.0应用程序。
Java ME(Java Platform,Micro Edition)。这个版本以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。
4. 1.JAVA_HOME :JDK 安装目录。
作用:其他相关环境变量配置可以引用,更加方便简洁。
2.Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 作用:使系统可以找到并调用 java.exe 和 javac.exe。
3.classpath:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
作用:classpath 环境变量的作用--告诉 java 虚拟机所有的可执行文件.class 的位置。
三、编程题 1.
public class Test1_1 {
public static void main(String[] args) {
System.out.println("I love Java!");
} }
2.
public class Test1_2 {
public static void main(String[] args) {
int r = 3;
float pai = 3.14f;
float s = pai*r*r;
System.out.println("圆形的面积为:"+s);
} }
第 第 2 章 Java 程序设计语法基础
一、选择题 1.D 2.D 3.D 4.C 5.
B 6.
C 7.D
8.
A 二、简答题 1.
Java 的基本数据类型包括整型、浮点型、字符型、布尔型 2.
float 型常量应当用 F 或 f 做后缀,例如 123.4F。
double 型常量应当用 D 或 d 做后缀,例如 123.4d,允许省略后缀。
3.
见书 2.5.2 小节 三、编程题 1. import java.util.Scanner;
public class Test2_1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入第一个数字:");
int a = input.nextInt();
System.out.println("请输入第二个数字:");
int b = input.nextInt();
System.out.println("请输入第三个数字:");
int c = input.nextInt();
int max;
if(a>b) {
max = a;
}else {
max = b;
}
if(max<c) {
max = c;
}
System.out.println("最大的数是:"+max);
}
}
2.
public class Test2_2 {
public static void main(String[] args) {
int sum = 0;
for(int i = 1;i <= 20;i++) {
int n = 1;
for(int j = 1;j <= i;j++) {
n = n * j;
}
sum = sum + n;
}
System.out.println("1!+2!+3!+…+20!="+sum);
} } 3. public class Test2_3 {
public static void main(String[] args) {
int i, j;
for (i = 1; i <= 100; i++) {
if (i == 1 || i == 2) {
System.out.println(i);
continue;
}
for (j = 2; j < i; j++) {
if (i % j == 0)
break;
if (j == i - 1)
System.out.println(i);
}
}
} } 4. 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 + "\t");// \t 跳到下一个TAB位置
}
System.out.println();
}
} } 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.println();
}
} } 第 第 3 章 数组与字符串
一、选择题 1.C 2.D 3.A 4.D 5.
D 6.
C 7.D
8.
C 9.
A 二、简答题 1. 见书 3.1.1 和 3.1.2。
2. 见书 3.1.3
3. 数组下标的类型是长整型。
数组最小的下标是 0。
表示数组名为 a 的第三个元素:假设数组为 abc() ,则第三个元素为 abc(2)。因为数组从 0开始,第三个就是 2。
4. 使用数组时要注意下标不能超出范围,如果超出范围,在程序运行时,系统就会抛出数组下标越界异常。
访问的时候注意下标,下标为从 0 开始。
三、编程题 1.
public class Test3_1 {
public static void main(String[] args) {
int arr[] = new int[] { 1,3,5,7,9,11,13,15,17,19 };
for(int i = 0; i < arr.length / 2; i++){
int temp = arr[i];
arr[i] = arr[arr.length - i - 1];
arr[arr.length - i - 1] = temp;
}
for (int i = 0; i < arr.length; i++) {
//System.out.println(arr[i]); //每个一行
System.out.print(" "+arr[i]); //全部一行
}
System.out.println();
} }
2.
import java.util.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 toString() {
return this.name;
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入学生个数");
int stuNum = input.nextInt();
Test objArr[] = new Test[stuNum];
for (int i = 0; i < objArr.length; i++) {
objArr[i] = new Test();
System.out.println("请输入第" + (i + 1) + "个学生的姓名");
String name = input.next();
objArr[i].setName(name);
System.out.println("请输入第" + (i + 1) + "个学生的成绩");
long grade = input.nextLong();
objArr[i].setGrade(grade);
}
System.out.println("打印开始");
for (int i = 0; i < objArr.length; i++) {
for (int j = i + 1; j < objArr.length; j++) {
if (objArr[i].getGrade() < objArr[j].getGrade()) {
Test s = new Test();
s = objArr[i];
objArr[i] = objArr[j];
objArr[j] = s;
}
}
}
for (int i = 0; i < objArr.length; i++) {
System.out.println(objArr[i].getName() + "的成绩是:" + objArr[i].getGrade());
}
}
} 第 第 4 章 类和对象
一、选择题 1.D 2.B 3.C 4.D 5.
C 6.
D 7.B 8.
A 9.
A 10.
A 二、简答题 1.类是对象的抽象,对象是类的具体实例化。
2. 定义一个类的步骤:
1. 定义类使用关键字 class,然后定义类名。
2. 编写类的属性,即声明变量。
3. 编写类的方法。
类的一般格式如下:
class 类名{
//定义属性部分(成员变量)
属性 1 的类型 属性 1;
属性 2 的类型 属性 2; …… 属性 m 的类型 属性 m; //定义方法部分 方法 1(); 方法 2(); …… 方法 n(); }
3.
详见 4.4.2 小节 三、编程题 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.println("你好");
}
int caculate(int a,int b) {
return a+b;
}
public static void main(String[] args) {
People s = new People("张三",18,"男",180.0);
s.talk();
System.out.println("计算结果是:"+s.caculate(23,45));
} } 2.
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 p1, Point p2) {
return Math.sqrt((Math.pow(p1.x - p2.x, 2) + Math.pow(p2.y - p1.y, 2)));
}
public static void main(String[] args) {
Point p1 = new Point(1, 2);
Point p2 = new Point(0, 0);
System.out.println(Point.distance(p1, p2));
}
}