JAVA 核心基础班
http://www.mldnjava.cn/javajichu/
同时可以申请0 元入学JAVA就业班,详情访问http://www.mldnjava.cn
Java 开发实战经典 课后习题答案
第(1)页 共(46)页
第 1 章:Java 简介 —— 自我检测(答案)
1、填空题
1、 Java源程序文件的后缀是 *.java ,Java字节码文件的后缀名称是 *.class
2、 Java程序实现可移值性,依靠的是
3、 Java语言的三个分支是:
4、 Java程序由
5、 Java执行是从
6、 Java类名的每个单词的首字母通常要求
JAVA SE 、 JAVA ME 、 JAVA EE
类 组成,如果Java使用 public class
JVM
大写
。
。
。
。
声明类,则文件名称必须与类名称一致。
main() 方法开始执行的,此方法的完整定义是 public static void main(String args)
。
2、选择题
A、 IBM
1、 推出Java语言的公司 B
2、 下面的那个环境变量java解释时所需要的 B
B、 classpath
C、 Apple
。
B、 SUN
A、 path
。
C、 JAVA_HOME
D、 Microsoft
3、判断题
1、 Java 语言属于编译型的开发语言。
2、 Java Application 程序不是由 main()方法开始执行的。
D、TEMP
( × )
( × )
4、简答题
1、 简述 Java 实现可移值性的基本原理。
答:Java 属于编译型和解释型的编程语言,所有的*.java 程序必须编译为*.class 文件之后才可以在电脑上执行,而执行*.class
文件的电脑并不是一台真实的电脑,而是利用软件和硬件模拟出来的一台虚拟电脑,称为 Java 虚拟机,而针对于不同的操
作系统平台,有不同版本的 Java 虚拟机,即:由 Java 虚拟机去适应不同的操作系统,即:只要 Java 虚拟机的支持没有改
变,同一个*.class 可以在不同的平台上运行。
2、 简述 Java 语言的三个程序分支。
答: JAVA SE(Java 标准版):提供基础的 Java 类库及平台支持:
JAVA ME(Java 微型版):提供嵌入式开发支持:
JAVA EE(Java 企业版):提供企业平台支持。
3、 简述 Java 中 path 及 classpath 的作用。
答: PATH:是操作系统的环境属性,指的是可以执行命令的程序路径;
第(2)页 共(46)页
CLASSPATH:是所有*.class 文件的执行路径,java 命令执行的时候将利用此路径加载所需要的*.class 文件。
4、 简述 Java 语言的主要特点。
答: Java 语言的主要的特点如下:
1、 Java 语言是一门面向对象语言,且语法足够简单;
2、 Java 避免了 C/C++之中复杂的指针关系,而使用了更为简单的引用方式来进行内存传递;
3、 Java 是为数不多的支持多线程开发的编程语言;
4、 Java 提供了自动的垃圾收集机制,可以定期释放出无用的垃圾空间;
5、 Java 语言的安全性较高;
6、 Java 最大的特点是具备可移植性,即:同一个程序在不同的操作系统上都可以运行。
5、 详细阐述 Java 中使用 public class 或 class 声明一个类的区别及注意事项。
答: 使用 public class 定义的类,要求文件名称和类名称保持一致,在一个*.java 文件之中只能存在一个 public class;
会产生多个*.class 文件。
使用 class 定义的类,文件名称可以和类名称不一致,在一个*.java 文件之中可以同时存在多个 class 定义,编译之后
5、编程题
public static void main(String[] args) {
}
System.out.println("我喜欢学习 Java");
1、 在屏幕上输出:“我喜欢学习 Java”的信息。
答案:
public class TestDemo {
}
2、 在屏幕上打印出以下的图形:
答案:
public class TestDemo {
}
*************************************
********* Java 程序设计
*********
*************************************
public static void main(String[] args) {
}
System.out.println("*************************************");
System.out.println("********* Java 程序设计 *********");
System.out.println("*************************************");
第(3)页 共(46)页
第 2 章 简单 Java 程序 —— 自我检测(答案)
1、填空题
assert 关键字是在JDK 1.4 时加入的, enum
1、 Java中的标识符组成原则: 由字母、数字、下划线、$所组成,其中不能以数字开头,不能是Java的关键字
2、
3、 列举出已经知道的 5 个关键字:
4、 Java注释分为以下三种:
5、 Java中使用
6、 在一个Java源文件中定义了 3 个类和 15 个方法,编译该Java源文件时会产生
单行注释(//) 、 多行注释(/* …*/) 、 文档注释
public、static、void、int、double
关键字,可以定义一个整型数据。
关键字是在JDK 1.5 时加入的。
int
3 个字节码文件,其扩展名
。
。
。
是 *.class
。
boolean ,有 true 和 false
byte 、 short 、 int 和 long
float 和 double
两种取值。
四种类型表示。
两种。
7、 布尔型数据类型的关键字是
8、 整型数可以采用
9、 根据占用内存长度的不同将浮点型分为
10、 Java程序结构分为:
11、 逻辑表达式:true&&false&&true的结果是
12、 逻辑表达式:!true||false的结果是
13、 在方法中可以使用
return
14、 方法中的
void
false
语句来结束方法的执行。
关键字用来表示方法不返回任何值。
。
false
。
顺序结构 、 分支结构 、 循环结构
三种。
2、选择题
D、 Demo
(多选)。
D、 assert
C、 Strings args[]
D、 String args
C、 123$temp
。
B、 goto
A、 const
A、 class
B、 int[] args
A、 String args[]
。
B、 hello world
1、 下面那些标识符是正确的 D
2、 下面那些关键字是Java中未使用到的关键字 A、B
C、 int
3、 public static void main方法的参数描述是: A
4、 下面说法正确的是 C
5、 下面说法不正确的是 A
A、 Java 语言是面向对象的、解释执行的网络编程语言
B、 Java 语言具有可移植性,是与平台无关的编程语言。
C、 Java 语言可对内存垃圾自动收集。
。
。
A、 Java 程序的源文件名称与主类(puublic class)的名称相同,后缀可以是.java 或.txt 等。
B、 JDK 的编译命令是 java。
C、 一个 java 源文件编译后可能产生多个 class 文件。
D、 在命令行编译好的字节码文件,只需在命令行直接键入程序名即可运行该程序。
第(4)页 共(46)页
D、 char
C、 boolean 和 true D、 boolean 和 false
D、 0.315 × 10-2
。
D、 2
D、 3.33333
D、 3、9、9
。
B、 3
A、 1
A、 1
。
A、 integer
A、 byte 和 0
B、 1 + 1 = 2
A、 3.15 × 2
B、 3.15 × 10-2
。
C、 3.3
B、 byte 和 1
。
D、 Java 语言执行时需要 Java 的运行环境。
不是Java的关键字。
B、 double
6、 下面 A
C、 float
7、 在Java中,字节数据类型的关键字和默认值是 A
8、 3.15E2 表示的数据是 C
C、 3.15 × 102
9、 程序System.out.println("1 + 1 = " + 1 + 1) ;的输出结果是 C
C、 1 + 1 = 11
10、 程序System.out.println(10 / 3) ;的输出结果是 B
11、 执行下面的语句后,a、b、c的值分别是 C
12、 以下的 B
B、 -20
13、 下面的数据类型 D
B、 129
14、 下列关于自动类型转换的说法中,正确的一个是 B
15、 一个方法在定义过程中又调用自身,这种方法称为 B
A、 int 类型数据可以自动转换为 char 类型数据
B、 char 类型数据可以被自动转换为 int 类型数据
C、 boolean 类型数据不可以做自动类型转换,但是可以做强制转换
D、 long 类型数据可以被自动转换为 short 类型数据
能正确表示Java语言中的一个整型常量。
D、 "123"
int a = 2 ;
int b = (a++) * 3 ;
int c = (++a) * 3 ;
A、 2、6、6
是float型
D、 8.6F
。
C、 4、6、12
A、 构造方法
B、 递归方法
C、 成员方法
B、 4、9、9
A、 35.d
A、 33.8
C、 1,234
C、 89L
。
D、 抽象方法
3、判断题
1、 变量的内容可以修改,常量的内容不可修改。
2、 goto 是 Java 中未使用到的关键字。
3、 enum 关键字是在 JDK 1.4 版本中增加的。
4、 使用 public class 定义的类,文件名称可以与类名称不一致。
5、 主方法编写:public void main(String arg)。
6、 字符$不能作 Java 标识符的第一个字符。
7、 System.out.println()输出后是不加换行的,而 System.out.print()输出后是加换行的。
8、 使用 break 语句可以跳出一次循环。
9、 byte 的取值范围是:0~255。
第(5)页 共(46)页
( √ )
( √ )
( × )
( × )
( × )
( × )
( × )
( × )
( × )
10、 int 和 double 进行加法操作,int 会自动转换为 double 类型。
11、 使用“&”操作时,如果第一个条件是 false,则后续的条件都不再判断。
12、 使用“&&”操作时,如果第一个条件是 false,则后续的条件都不再判断。
13、 使用“|”操作时,如果第一个条件是 true,则后续的条件都不再判断。
14、 使用“||”操作时,如果第一个条件是 true,则后续的条件都不再判断。
15、 定义多个同名方法时,可以依靠返回值区别同名方法。
( × )
( × )
( √ )
( × )
( √ )
( × )
4、简答题
变量是利用声明的方式,将内存中的某个内存块保留下来以供程序使用。可以声明的数据类型为整型、字符型、浮
1、 请解释常量与变量的区别?
答: 常量就是一个固定的数值。是不可改变的,例如:数字 1、2 就是一个整型的常量。
点型或是其他数据类型,作为变量的保存之用。变量在程序语言中扮演了最基本的角色。变量可以用来存放数据,而使用
变量之前必须先声明它的数据类型。
2、 解释方法重载的概念,并举例说明。
答: 方法重载指的是多个方法的方法名称相同,但是方法中的参数类型及个数不同。
return x + y;
代码说明:
public static int add(int x, int y) {
}
public static int add(int x, int y, int z) {
}
public static double add(double x, double y) {
}
return x + y + z;
return x + y;
5、编程题
1、 打印出 100~1000 范围内的所有 “水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
例如:153 是一个“水仙花数”,因为 153=1 的三次方+5 的三次方+3 的三次方。
public class TestDemo {
public static void main(String[] args) {
int i, j, k;
for (int x = 100; x < 1000; x++) {
i = x / 100;
j = (x / 10) % 10;
k = x % 10;
// 计算百位数字
// 计算十位数字
// 计算个位数字
第(6)页 共(46)页
if (x == i * i * i + j * j * j + k * k * k) {
}
System.out.print(x + "、");
}
}
}
程序运行结果:
2、 通过代码完成两个整数内容的交换。
实现一:引用第三方变量
public class TestDemo {
}
程序运行结果:
public static void main(String[] args) {
}
int x = 10;
int y = 20;
int temp = x;
x = y;
y = temp;
System.out.println("x = " + x);
System.out.println("y = " + y);
153、370、371、407、
实现二:利用数学计算完成
public class TestDemo {
}
public static void main(String[] args) {
}
int x = 10;
int y = 20;
x += y ;
y = x - y;
x = x - y ;
System.out.println("x = " + x);
System.out.println("y = " + y);
x = 20
y = 10
3、 判断某数能否被 3,5,7 同时整除。
public class TestDemo {
}
public static void main(String[] args) {
}
System.out.println(data + "不可以同时被3、5、7整除。");
System.out.println(data + "可以同时被3、5、7整除。");
int data = 105;
if (data % 3 == 0 && data % 5 == 0 && data % 7 == 0) {
} else {
}
程序运行结果:
4、 编写程序,分别利用 while 循环、do…while 循环和 for 循环求出 100~200 的累加和。
105可以同时被3、5、7整除。
第(7)页 共(46)页
实现一:使用 while 循环
实现二:使用do…while循环
实现三:使用for循环
public class TestDemo {
}
public static void main(String[] args) {
}
int sum = 0;
int x = 100;
while (x <= 200) {
}
System.out.println("累加结果:" + sum);
sum += x;
x++;
public class TestDemo {
}
public static void main(String[] args) {
}
int sum = 0;
int x = 100;
do {
} while (x <= 200);
System.out.println("累加结果:" + sum);
sum += x;
x++;
public class TestDemo {
}
public static void main(String[] args) {
}
int sum = 0;
for (int x = 100; x <= 200; x++) {
}
System.out.println("累加结果:" + sum);
sum += x;
第 3 章、面向对象 —— 自我检测(答案)
1、填空题
1、 面向对象有那三大特征: 封装 、 继承 、 多态 。
第(8)页 共(46)页