Java程序设计各章习题和思考题答案
第一章 习题和思考题答案
1、 Java程序是由什么组成的?一个程序中必须有public类吗?Java源文件的命名规则是怎样的?
答:一个Java源程序是由若干个类组成。一个Java程序不一定需要有public类:如果源文件中有多个类时,则只能有一个类是public类;如果源文件中只有一个类,则不将该类写成public也将默认它为主类。源文件命名时要求源文件主名应与主类(即用public修饰的类)的类名相同,扩展名为.java。如果没有定义public类,则可以任何一个类名为主文件名,当然这是不主张的,因为它将无法进行被继承使用。另外,对Applet小应用程序来说,其主类必须为public,否则虽然在一些编译编译平台下可以通过(在BlueJ下无法通过)但运行时无法显示结果。
2、怎样区分应用程序和小应用程序?应用程序的主类和小应用程序的主类必须用public修饰吗?
答:Java Application是完整的程序,需要独立的解释器来解释运行;而Java Applet则是嵌在HTML编写的Web页面中的非独立运行程序,由Web浏览器内部包含的Java解释器来解释运行。
在源程序代码中两者的主要区别是:任何一个Java Application应用程序必须有且只有一个main方法,它是整个程序的入口方法;任何一个Applet小应用程序要求程序中有且必须有一个类是系统类Applet的子类,即该类头部分以extends Applet结尾。
应用程序的主类当源文件中只有一个类时不必用public修饰,但当有多于一个类时则主类必须用public修饰。小应用程序的主类在任何时候都需要用public来修饰。
3、开发与运行Java应用程序需要经过哪些主要步骤和过程?
答:主要有三个步骤 (1)、用文字编辑器notepad(或在Jcreator,Gel, BuleJ,Eclipse, Jbuilder等)编写源文件;
(2)、使用Java编译器(如Javac.exe)将.java源文件编译成字节码文
件.class;
(3)、运行Java程序:对应用程序应通过Java解释器(如java.exe)来运行。
4、安装JDK之后如何设置JDK系统的PATH,CLASSPATH?他们的作用是什么?
答、更新系统PATH的方法随Windows版本不同而不同。对于Windows 95/98,可以将下列项目作为C:\\autoexec.bat文件的最后一行:
SET PATH = d:\\jdk1.5.0\\bin;%PATH%
当程序需要第三方的类库支持, 而且比较常用, 就可以采用此种方法.比如常用的数据库驱动程序, 写 servlet 需要的 servlet 包等等. 设置方法就是在环境变量中加入 CLASSPATH. 然后就可以直接编译运行了.Java运行环境从CLASSPATH环境变量中寻找要执行的用户项目(三方的类库)。可以按如下的方式设置
SET CLASSPATH=.;d:\\jdk1.5.0\\jre\\lib\\rt.jar;%CLASSPATH%
通常我们要从当前目录中寻找用户类,因为开发的程序相关的类放在这里,. 表示当前工作目录.
5、Java语言特点是什么?
答:Java是一种简单的、面象对象的、分布式的、健壮的、安全的、结构中立的、可移植的、性能很优异的多线程的、动态的计算机语言。
6、使用Eclipse编写能输出“Hello World!”的Java应用程序。
答:1)
我们将在 Navigator 中创建一个项目。右键单击 Navigator 视图,然后选择 New=>Project。当 New Project 对话框出现时,选择左面的 Java。标准 Eclipse 只有一种 Java 项目类型,名为“Java Project”。选择 Java Project,在提示项目名称时输入“Hello”,然后按 Finish。
右键单击“Hello”项目,选择 New=>Class,如图 2 所示。在随后出现的对话框中,键入“Hello”作为类名称。在“Which method stubs would you like to create?”下面,选中“public static void main(String[] args)”复选框,然后按 Finish。
新类
图 2. 在 Java 透视图中创建新类
这样将在编辑器区域创建一个包含 Hello 类和空的 main() 方法的 .java 文件,如图 3 所示。然后向该方法添加如下代码
Hello 输出
一旦代码无错误地编译完成,就能够从 Eclipse 菜单上选择 Run 来执行该程序。这时会出现一个具有适当默认设置的 Launch Configurations 对话框;请按右上角的 Run 按钮。一个新的选项卡式窗格将出现在下面的窗格(控制台)中,其中显示了程序的输出。
第2、3章略
第4章 习题及思考题
1、什么是类?什么是对象?对象和类是什么关系?
答:类是抽取了同类对象的共同属性和行为形成的对象或实体的“模板”。
对象是现实世界中实体的描述,是其自身所具有的状态特征及可以对这些状态施加的操作结合在一起所构成的独立实体。
类和对象之间的关系是抽象和具体的关系:类表达的是一种抽象的概念,它描述了该类对象的共同特征;而对象是具体事物,以类为模板来生成,它具有自己的状态。举例:类与对象的关系犹如零件的图纸与按图纸制造出
的零件关系一样;图纸(类)描述了零件(对象)的共同特征,每个零件(对象)又有自己的个性,如加工精度的不同等等
2、什么是方法?方法的结构是怎样的?设计方法应考虑哪些因素?
答:方法是Java类的一个组成部分,通过类的方法改变对象的状态。
方法的结构:[方法修饰符] 返回值类型 方法名([形参列表])[throws异常列表]
{
方法体; }
设计方法应考虑因素有:
(1) 方法名是Java中任意的标识符,按照命名的约定,方法名应该是有意义的动词或动词短语,它的第一个字母一般要小写,其他有意义的单词的首字母要大写,其余字母小写。
(2) 返回值类型可以是任意的Java类型,甚至可以是定义此方法的类。如果方法没有返回值,则用void表示。
(3) 形式参数列表是可选的。如果方法没有形式参数,就用一对小括号“()”表示。形式参数列表的形式如下:
(类型 形参名,类型 形参名,??)
(4) throws异常列表规定了在方法执行中可能导致的异常。
3、创建一个有两个方法的类,要求其中第一个方法两次调用第二个方法,第一次不使用this,第二个使用this。
答:
class Rectangle //矩形类
{
int width; // 矩形的宽
int usethis(int width) //返回宽度的函数
{this. width= width; //指自己这个对象
return width; }
int unusethis(int width)
{ int w=width;
return w; }
public static void main(String args[]) {
Rectangle r=new Rectangle();
System.out.println(\
System.out.println(r.usethis(1));
System.out.println(r.unusethis(2));
运行结果:
It is about the node of this. 1 2
//类对象的实例化 //输出语句