第一章 计算机、程序和java概述
复习题
1.2~1.4节
1.1给出硬件和软件的定义
解:一般来说,硬件包括计算机中可以看得见的物理部分,而软件提供看不见的指令,这些指令控制硬件并且要求硬件完成特定的任务。
1.2列举计算机的主要部件。
解:计算机主要由中央处理器、内存、存储设备、输入设备、输出设备、通信设备组成。
1.3给出机器语言、汇编语言和高级程序设计语言的定义?
解:计算机本身的语言就是它的机器语言(machine language)-最初植入计算机的一套原始指令集。
汇编语言(assemblylanguage)是一种低级的程序设计语言,它用助记符表示每一条机器语言指令。
高级语言(high-levellanguage)很像英语,易于学习和编写程序。
1.4什么是源程序?什么是编译器?
解:用高级语言编写的程序称为源程序(source program)或源代码(source code).
编译器(compiler)的程序将源程序翻译成机器语言程序。
1.5什么是JVM?
解:JVM是Java Virtual Machine(Java虚拟机)的缩写
1.6什么是操作系统?
解:操作系统(Operating System, OS)是运行在计算机上最重要的程序,它可以管理和控制计算机的活动。
1.5~1.6节
1.7描述Java的历史。Java可以在任何机器上运行吗?在计算机上运行Java是需要什么?
解:Java是James Gosling在Sun公司领导的小组开发的。Java最初被称为Oak(橡树),是1991年为消费类电子产品的嵌入式芯片而设计的。1995年被更名为Java,并重新设计用于Internet应用程序。
Java利用Java虚拟机可以在任何平台下运行,java运行环境是最低的要求。
1.8Java编译器的输入和输出是什么?、
解:Java编译器输入的是Java源文件,输出的是Java字节码文件。
1.9列举一些Java的开发工具。想NetBeans、Eclipse之类的工具是与Java不同的语言,还是Java的替代品或是对Java的扩展?
解:Java的开发工具有:NetBeans、Eclipse和TextPad,它们是为了快速开发Java程序而提供的一个集成开发环境(IntegratedDevelopment Environment,IDE)的软件。
1.10Java与HTML之间的关系是什么?
解:HTML是一种超文本标记语言,用于显示静态网页。Java是一种成熟的编程语言,可以用来开发动态网页,能在Web浏览器中运行的Java程序称为Java小程序(applet)。小程序必须嵌入到HTML文件中才能运行。
1.7~1.9节
1.11解释Java关键字的含义,罗列你在本章中学到的一些关键字。
解:在Java程序中有特定含义的标识符称为关键字(Keyword)或保留字。
public、static和void等都是关键字
1.12Java区分大小写吗?Java关键字是大写还是小写?
解:java源程序是区分大小写的。Java关键字通常是小写的。
1.13Java源文件的扩展名是什么?Java字节码文件的扩展名是什么?
解:java源文件的扩展名是.java, java字节码文件的扩展名是.class。
1.14什么是注释?注释能被编译器忽略吗?该如何表示一个注释行和一个注释段?
解:注释:它标志该程序是干什么的,以及它是如何创建的。注释不是程序设计语句,所以编译器编译程序时是忽略它们的。双斜杠//来表示一个注释行,/*和*/括住来表示一个注释段。
1.15在控制台上显示字符串的语句是什么?在消息对话框中显示消息“Hello World”的语句是什么?
解:System.out.println(...);
JOptionPane.showMessageDialog(null, “Hello world”);
1.16下面的程序是错的。重新排行使程序在morning之后显示afternoon.
publicstatic void main(String[] args){
}
publicclass Welcome{
System.out.println(“afternoon”);
System.out.println(“morning”);
}
解:修改程序如下:
public class Welcome{
public staticvoid main(String[] args){
System.out.println(“morning”);
System.out.println(“afternoon”);
}
}
1.17找出并修改下面代码的错误:
publicclass Welcome{
public void Main(String[] args){
System.out.println(‘Welcome to Java!’);
}
)
解:1.Main应为main; 2.少了static;3.Welcome to Java!应该用双引号括起来
4. 最后一段)应为}
1.18编译Java程序的命令是什么?运行Java程序的命令是什么?
解:编译Java程序的命令是Javac,运行Java程序的命令是Java.
1.19如果在运行程序时出现NoClassDefFoundError,产生这个错误的原因是什么?
解:执行了一个不存在的类。
1.20如果在运行程序时出现NoSuchMethodError,产生这个错误的原因是什么?
解:执行了一个不存在的方法。
1.21为什么System类无须被导入?
解:因为System类在java.lang包中内。java.lang包内的所有类在每个Java程序中被隐式导入。
1.22以下两个import语句在性能上有没有不同之处?
import javax.swing.JOptionPane;
import javax.swing.*;
解:前者是明确导入是指将每个单独类放在import语句中,而后者是通配符导入是指导入一个包中所有的类。
1.23显示以下代码的输出结果:
publicclass Test{
public static void main(String[] args){
System.out.println(“3.5*4/2 – 2.5 is”);
System.out.println(3.5 * 4 / 2 – 2.5);
}
}
解:输出结果为:
3.5*4/2– 2.5 is
4.5