Java程序设计实用教程 课后习题参考答案 [第1章]
1.Java语言有哪些主要特点。
平台独立性 安全性 多线程 网络化 面向对象
2.目前,美国Sun公司提供的适于不同开发规模的JDK有哪些。
目前Sun共提供了三种不同的版本:微平台版J2ME(Java 2 Platform Micro Edition),标准版J2SE(Java 2 Platform Standard Edition)和企业版J2EE(Java 2 Platform Enterprise Edition),这三种版本分别适用于不同的开发规模和类型,对于普通Java开发人员和一般学习者来说,选用标准版J2SE就可以了,学会了J2SE,再学J2ME或J2EE就比较容易上手,因为它们之间虽有所侧重,但相似之处很多,尤其是语言本身是一样的,都是Java。
3.Java Application的开发步骤是什么。 Java Application的开发步骤:
(1)下载JDK软件并安装;
(2)配置相应的环境变量(path和classpath);
(3)编写Java源程序(文本编辑器或集成开发环境IDE); (4)编译Java源程序,得到字节码文件(javac *.java);
(5)执行字节码文件(java 字节码文件名)。
4.什么是环境变量,设置环境变量的主要目的是什么。
环境变量的配置主要是为了进行“寻径”,也即让程序能找到它需要的文件,所以设置的内容就是一些路径。
5.不参考教材,试着独立编写一个简单的Java Application程序,实现在屏幕上输出“Welcome to China!”字符串。并对该程序进行编译和运行。
public class Hello { }
public static void main(String args[]) { }
System.out.println(\Welcome to China!\
6.编写一个Java Application程序,实现分行显示字符串“Welcome to Beijing City”中的4个单词。
public class Hello {
public static void main(String args[]) {
System.out.println(\Welcome \System.out.println(\to \System.out.println(\Beijing \System.out.println(\City!\
}
}
7.请简要描述什么是指令。 指令由操作码和操作数组成:
? 操作码 要完成的操作类型或性质 ? 操作数 操作的内容或所在的地址
8.JAVA字节码文件的扩展名为 。
A、class B、c++ C、cpp D、java
答案:A
9.某一台微型计算机的内存容量为512M,指的是 。
A、512M位 B、512M字节 C、512M字 D、512000K字
答案:B
10.请分别解释机器语言、汇编语言和高级语言。
机器语言是由0和1二进制代码按一定规则组成的、能被机器直接理解和执行的指令集合。
将机器指令的代码用英文助记符来表示,代替机器语言中的指令和数据。例如用ADD表示加、SUB表示减、JMP表示程序跳转等等,这种指令助记符的语言就是汇编语言。
高级语言是用近似自然语言并按照一定的语法规则来编写程序的语言。高级语言使程序员可以完全不用与计算机的硬件打交道,可以不必了解机器的指令系统,编程效率高。
[第2章]
1.Java语言对于合法标识符的规定是什么?指出以下哪些为合法的标识符。
a a2 3a *a _a $a int a%
在Java语言中,标识符必须以字母、美元符号或者下划线打头,后接字母、数字、下划线或美元符号串。另外,Java语言对标识符的有效字符个数不做限定。 合法的标识符:
a a2 _a $a
2.变量的含义是什么?变量名与变量值有什么关系?
在程序执行过程中其值可以改变的数据,称为变量,它本质上代表了内存中的一小块空间。每个变量都必须有对应的名称来标识它,即变量名,而变量空间所存放的数据则称为变量值。
3.Java语言提供了哪些基本的数据类型,为什么要提供这些不同的数据类型?
布尔型:boolean
整型:byte、short、int以及long 浮点型(实型):float以及double 字符型:char
数据类型代表了数据的存储格式和处理方式,虽然严格来说计算机只能识别“0”和“1”,但是,有了数据类型以后,计算机的识别能力就被人为扩展了,它能够识别整数、实数以及字符等。
4.赋值语句的含义是什么?
答案:数据传递。
5.强制数据类型转换的原则是什么?如何转换? 对于变窄转换,如long到short、double到float,或者不兼容转换:float到short、char到short等,则需要进行强制转换。 float f = 11.5; short b ; b = (short)f; (强制转换)
6.每一条程序语句都应以分号来结束,这个分号能否用中文输入模式下输入的分号,为什么?
不能。首先中英文输入模式下输入的分号是不同的,不但外观不同,其存储所需的空间也是不同的,Java编译器只能识别英文的分号,对于中文分号,将会报错。
7.Java语言中转义字符“\\t”代表 。
A、回车 B、跳格 C、换页 D、换行
答案:B
8.假定z的初值为3,则下列哪个 表达式运算后的z值为0。
A、z+=z B、z-=2 C、z/=z+z D、z*=z+2
答案:C
9.有关变量的说法不正确的是 。
A、定义变量时需要指定其类型
B、程序中的变量是用来存放数据之用的
C、变量所占据的存储空间大小由其数据类型决定 D、不同数据类型的变量间不能互相赋值
答案:D
10.在JAVA中,一个long型的变量所占存储空间是 字节。
A、1 B、2 C、4 D、8 答案:D
[第3章]
1.什么时候适合使用以下语句:
● if语句
● if…else语句 ● switch语句
if 语句适合于单分支结构,即条件成立则执行分支语句(或语句块),否则不执行; if…else 语句适合于双分支结构,即条件成立则执行分支语句(或语句块),否则执行else部分的语句(或语句块);
switch语句适合于多分支结构,即当case表达式的值与某一个case常量值相等时执行该case部分的语句(或语句块)。
2.试用单分支结构设计一个程序,判断用户输入的值X,当X大于零时求X值的平方根,否则不执行任何操作。 import java.io.*; import java.lang.*; public class Test
{ public static void main(String[] args) throws IOException { float x;
InputStreamReader reader=new InputStreamReader(System.in); BufferedReader input=new BufferedReader(reader); System.out.println(\请输入x:\ String temp=input.readLine();
x = Float.parseFloat(temp); //字符串转换为单精度浮点型 if(x>0) System.out.println(\平方根值 \ } }
3.从键盘读入两个字符,按照字母表顺序排序,将前面的字符置于A,排后面的字符置于B。请设计并实现该程序。 import java.io.*; public class Test
{ public static void main(String[] args) throws IOException
{ char A,B,c1,c2; c1 = (char)System.in.read(); c2 = (char)System.in.read(); if(c1>c2) { A=c2; B=c1; }else { A=c1; B=c2; } System.out.println(\ } }
4.读程序,给出程序运行结果。
import java.io.*; public class Test {
public static void main(String[] args) throws IOException {
char sex= 'f'; switch (sex) {
case 'm': System.out.println(\男性\ break;
case 'f': System.out.println(\女性\ case 'u': System.out.println(\未知\ } } }
答案: 女性 未知
5.假设乘坐飞机时,每位乘客可以免费托运20kg以内的行李,超过部分按每公斤收费1.2元,以下是相应的计算收费程序。该程序存在错误,请找出。
public class Test {
public static void main(String[] args) throws IOException {
float w,fee;
//以下代码为通过控制台交互输入行李重量