java课后习题答案及部分作业答案 下载本文

第一章 Java概述 一、选择题

1、 下面哪个是在Dos命令提示符下编译Java程序的命令?( A ) A. javac B. java C. javadoc D. javaw

2、 以下哪些是Java程序中有效的注释符号?( ABC ) A. // B. /* */ C. /** */ D. */ */

3、 以下哪个不是Java语言的特点?( B ) A. 面向对象

B. 自动检查语法错误 C. 跨平台 D. 解释执行

4、 Java编译器会将Java程序转换为( C ) A. 可执行代码 B. 目标代码 C. 字节码 D. 机器代码

5、 Java源文件的扩展名是( D ) A. .class B. .jar C. .jav D. .java 二、简答题

1、 Java的跨平台的含义是什么?为什么Java可以跨平台? Java语言的一个非常重要的特点就是平台无关性。它是指用Java编写的应用程序编译后不用修改就可在不同的操作系统平台上运行。Java之所以能平台无关,主要是依靠Java虚拟机(JVM)来实现的。JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚机器指令,并有自己的栈、寄存器组等。 Java编程人员在编写完Java程序后,Java编译器将Java源代码文件编译后生成字节码文件

2、 简述Java语言的特点 Java具有以下特点: 1)、 简单性

Java语言的语法规则和C语言非常相似,只有很少一部分不同于C语言,并且Java还舍弃了C语言中复杂的数据类型(如:指针和结构体),因此很容易入门和掌握。 2)、 可靠性和安全性

Java从源代码到最终运行经历了一次编译和一次解释,每次都有进行检查,比其它只进行一次编译检查的编程语言具有更高的可靠性和安全性。 3)、 面向对象

Java是一种完全面向的编程语言,因此它具有面向对象编程语言都拥有的封装、继承和多

态三大特点。

4)、 平台无关和解释执行

Java语言的一个非常重要的特点就是平台无关性。它是指用Java编写的应用程序编译后不用修改就可在不同的操作系统平台上运行。Java之所以能平台无关,主要是依靠Java虚拟机(JVM)来实现的。Java编译器将Java源代码文件编译后生成字节码文件(一种与操作系统无关的二进制文件)。字节码文件通过Java虚拟机(JVM)里的类加载器加载后,经过字节码校验,由解释器解释成当前电脑的操作系统能够识别的目标代码并最终运行。下图展示了Java程序从编译到最后运行的完整过程。

第二章 Java语法基础

1、 Java有哪些基本的数据类型?写出这些基本数据类型所占用的最大空间(用字节描述)。 (1)数字型 (number),具体又分为: a.整型 (integers),整型又包括: ①字节整数 (byte, 8 bits) ②短整数 (short, 16 bits) ③整数 (int, 32 bits) ④长整数 (long, 64 bits)

b.实型 (real numbers),具体又分为: ①单精度(float, 32 bits) ②双精度(double, 64 bits)

(2)字符型 (char, 16-bit Unicode字符) (3)布尔型 (boolean)。

2、 说明Java字符编码的类型与特点。

Java字符编码的类型为Unicode,具有以下特点:

(1)Unicode是16比特的字符编码,其支持当前世界上绝大多数的语言;

(2)Unicode给每个字符提供了一个唯一的编码表示,不论是什么平台、程序或语言; (3)Windows系统(Windows 2000版本)、Java、XML、LDAP等已支持Unicode; (4)Unicode实现了ISO/IEC 10646标准; 3、 写出Java中六个常用的转义字符。 \\b 退格 \\t 制表符

\\n 换行 (Newline) \\r 回车 (Carriage return) \\' 单引号

4、 下面的几个标示符哪些是正确的,哪些是错误的,如果是错误的,请说明原因。 MyClass, _isHis, 3JavaProgram, _$asdf, Java-Visual-Machine

MyClass:正确,符合标识符的组成规则。 _isHis:正确,符合标识符的组成规则。

3JavaProgram:错误,因为第1个符号不能为数字。 _$asdf:正确,符合标识符的组成规则。

Java-Visual-Machine:错误,标识符不能为保留字。 5、 说出常量与变量的定义并举例说明。

常量是指程序执行过程中,值保持不变的量,类型划分如下: ? 整型常量 ? 实型常量 ? 布尔型常量 ? 字符型常量 ? 字符串常量 如整型常量: 起 始 最大整数(正) 最大长整数(正) 举 例 十进制 0,1~9 2147483647

9223372036854775807L 23, +567, -12,0,1234 八进制 0

017777777777

0777777777777777777777L 034,0175, -0777L

十六进制 0x

0x7FFFFFFF

0x7FFFFFFFFFFFFFFFL 0xFF, 0x45L

变量是指在程序执行过程中,值可以改变的量,类型划分为:整型变量、实型变量、字符型变量、字符串变量、布尔变量等。如:int x=2,就定义了一个整型变量x并且赋值为2。 6、 什么是强制类型转换?并说明其运用场合。

显型类型转换是强制类型转换,它是一种窄化转换 (narrowing conversion),如: double a = 1.5; float b = a;

System.out.println(\+ b); 编译: \loss of precision\数据精度丢失,数据丢失。 强制类型转换一般运用在

?二元运算符的二个操作数类型不同 ?表达式值的类型与变量的类型不同

7、 描述Java程序的构成。如何判断Java程序的主类?下面的程序有哪些错误并改正,该程序的源代码应当保存为什么名字的文件? Public class MyClass{ Public static void main(){

System.out.printIn(“my name is …”); }

System.out.printIn(“the end!”); }

Java程序的主类中包含main(),而其它类中没有;该程序的源代码应当保存为MyClass.java。另外该程序中包含以下的错误: (1) Public的第一个字符应当小写; (2) 定界符“”应当改为\; (3) printIn应该为println\\

(4) System.out.printIn(“the end!”); 代码应放在方法中 8、 说明Java中运算符的类型以及优先级。 Java中运算符的类型以及优先级(上高下低)如下: 后缀运算符 postfix operators [] . (params) expr++ expr-- 一元运算符 unary operators ++expr --expr +expr -expr ~ ! 构造或类型转换creation or cast new (type)expr 乘法 multiplicative * / % 加法 additive + - 移位 shift << >> >>>

关系 relational < > <= >= instanceof 相等 equality == != 按位与 bitwise AND &