1.3 Java语言的程序设计过程
Java语言的程序设计主要有Java应用程序(Java Application)和Java小程序(Java Applet)两种类型。
Java Application一般是可以独立运行的计算机应用程序。Java Applet是一种用Java语言开发,专门用于嵌入网页(HTML)文件中,并在浏览器中运行的程序。
目前,Java语言还可以开发兼有Java Application和Java Applet特征的程序,该种程序既可以像Java Application一样独立运行,也可以嵌入到网页文件中,在浏览器中运行。
1.3.1 Java应用程序的设计过程
由Java平台的特点可以知道,Java应用程序需要经过“编辑—编译—运行”三个步骤才能完成正确的Java程序设计,如图1-3所示。
图1-3 Java Application的开发过程
1.编辑源文件
程序设计的第一步就是编辑源文件,也称编辑源代码。本例以Windows操作系统中的记事本作为文本编辑器编辑源代码。
(1)在记事本中输入源代码。在Windows操作系统中,选择“开始”→“所有程序”→“附件”→“记事本”命令,打开记事本编辑器,在新文档中输入Java代码,源代码如下:
Java语言程序设计时,除了字符串中的内容(即双引号中的内容,不包括双引号)外,所有源代码中所涉及的符号都必须在英文输入状态下进行输入。另外,Java语言严格区分字母大小写,所以必须保持字母大小写的一致性,如HelloWorld与helloWorld是不同的。
(2)将源代码保存到名为HelloJava.java的文件中,该文件称为源文件。在记事本编辑器中,选择“文件”菜单中的“另存为”命令,在弹出的“另存为”对话框中,指定要保存文件的文件夹(路径),如D:\Java(如果指定文件夹不存在,可以单击“新建文件夹”按钮,建立指定文件夹即可)。在“文件名”文本框中,输入HelloJava.java(注意,HelloJava.java与HelloJava.Java是不同的),其他选项保持不变,如图1-4所示。单击“保存”按钮,退出记事本编辑器,完成源代码的保存过程。
图1-4 保存HelloWorld.java源文件示意图
(3)一个Java应用程序源文件中可以由若干个类(由class进行标识)组成。本例中只有一个class HelloWorld,所以只有一个类。如果一个源文件中有多个类(即有多个class标识的类),那么只能有一个类是public类(如public class HelloWorld),而且源文件的文件名必须与这个类的名字完全相同,扩展名为.java。如果一个源文件中有多个类(即有多个class标识的类),但是所有的类都不是public类,那么源文件的名字只要和某个类的名字相同,并且扩展名为.java即可。
(4)编辑Java应用程序的主类源代码。如前所述,Java应用程序是独立运行的计算机应用程序,所以必须存在一个程序执行入口。Java语言规定,一个Java应用程序必须存在一个类含有public static void main(String[]args){…}方法,这个类称为Java主类,public static void main(String[]args){…}方法是程序开始执行的位置,称为程序执行入口。HelloWorld类是不能被Java语言解释运行的,要想实现其功能,必须将其一个对象放入主类的main()方法中。按照上述方法,编辑和保存Java主类源文件TestHelloWorld.java,源代码如下:
2.编译源文件
从图1-2可以知道,当源文件编辑完成后,需要使用Java编译器(即javac.exe命令)对源文件进行编译。在编译时可以同时检验源代码的书写规则是否正确及是否导入程序所需要的Java类库等,如果编译失败,可以看到源代码的错误提示,如果编译成功,则在相应位置自动生成对应的字节码文件。字节码文件的文件主名与对应类的名字相同,扩展名为.class。
编译源文件的操作步骤如下:
(1)在Windows 7及以后版本的Windows操作系统中,选择“开始”→“所有程序”→“附件”→“运行”命令,在弹出的“运行”对话框中输入cmd命令,单击“确定”按钮,如图1-5所示。
图1-5 “运行”对话框
(2)当出现命令提示符窗口时,显示的是Windows操作系统的默认路径,如图1-6(a)所示。要编译源文件,应该将当前路径改变为文件所在的路径。例如,如果源文件路径在C盘上的program目录下,那么在命令提示符中输入以下命令并按Enter键:cd c:\program,如图1-6(b)所示。
图1-6 命令提示符窗口
如果要改变为另一个驱动器上的路径(如源文件在D盘java目录下),应该在命令提示符中先输入以下命令并按Enter键:D:。
如前所述,HelloJava.java和TestHelloJava.java文件都保存在D盘java目录下,因此需要将当前路径改变为D盘的java目录。如果输入dir命令,会列出目录下的所有文件和文件夹,如图1-7所示。
图1-7 改变路径至Java源文件所在目录
(3)使用Java语言编译器(javac.exe)对源文件进行编译。在命令提示符窗口中,输入Java编译命令并按Enter键:javac HelloJava.java。
如果编译成功,则在相应位置自动生成对应的字节码文件HelloJava.class。字节码文件的文件主名与对应类的名字相同,扩展名为.class。如果编译失败,则可以看到源代码的错误提示,然后返回源文件修改错误,再进行编译,直到编译成功。同时将主类TestHelloJava.java文件编译生成相应的字节码文件TestHelloJava.class,如图1-8所示。
3.解释运行
当生成字节码文件后,就可以解释运行Java应用程序了。Java应用程序使用Java解释器(java.exe)来解释运行Java主类字节码。Java应用程序总是把Java主类的main()方法作为程序执行入口,从main()方法开始执行。由前述可知,本例的主类是TestHelloJava,在命令提示符窗口中,输入Java解释器命令并按Enter键:java TestHelloJava。
经过加载HelloJava字节码文件后,在命令提示符窗口中就可以看到程序的运行结果,如图1-9所示。
图1-8 Java应用程序编译窗口
图1-9 程序在屏幕上(命令提示符窗口)输出程序结果
1.3.2 Java小程序的设计过程
与Java应用程序的设计过程相类似,Java小程序也需要经过“编辑—编译—运行”三个步骤才能完成正确的Java程序开发,如图1-10所示。
图1-10 Java Applet的开发过程
1.编辑源文件
和Java应用程序的编辑源文件过程相同,打开记事本编辑器,在新文档中输入Java代码,源代码如下:
2.保存源文件
将源代码保存到名为HelloApplet.java的文件中,本例将该文件保存在D盘java目录下。
3.Java小程序的类
Java小程序可以由若干个类(由单词class进行标识)组成。与Java应用程序不同的是,一个Java小程序不再需要包含了main()方法的程序运行入口的主类,而必须要包含一个并且只有一个类扩展了Applet(或者JApplet)类,即它是Applet(或者JApplet)的子类,同时它也是public类(即public class HelloApplet extends JApplet)。
4.编辑Java小程序的网页文件源代码
Java小程序是嵌入在网页中运行的Java程序,因此除了编辑Java小程序源文件外,还需要编辑一个网页文件,即HTML文件,由它来加载Applet小程序。在记事本编辑器中,按照网页文件的编辑方法,输入HTML文件的内容,源代码如下:
将源代码保存到名为TestApplet.html的文件中,该文件必须与HelloApplet.class文件处于同一个路径下(本例保存在D盘java目录下),否则在Applet标记中需要增加codebase属性以确定其所加载的class文件的路径。
5.编译源文件
与Java应用程序相同,当源文件编辑完成后,需要使用Java编译器(即javac.exe命令)对源文件进行编译,如图1-11所示。编译成功,则在相应位置自动生成对应的字节码文件Hello Applet.class。
6.解释运行
当Java小程序编译成功后,浏览HTML文件时就可以加载并看到其运行结果了。可以使用浏览器浏览HTML文件(出于安全性考虑,某些浏览器可能会出现阻止Applet加载的提示,用户只需设置为允许阻止的内容显示即可),也可以使用Java小程序查看器(appletviewer.exe)查看HTML文件,如图1-12所示。
图1-11 Java小程序编译窗口
图1-12 小程序查看器查看HTML文件
1.3.3 Java语言程序注释
注释是Java编译器编译时会忽略掉的简单程序文本,Java编译器将程序转换为计算机可以运行的程序时,会完全忽略注释。注释是为用户编写的,不是为计算机编写的,它们的目的是将程序的信息传达给其他编程人员。与其他计算机程序设计语言相同,Java语言程序设计非常重视注释的使用,它会让其他人员或者编程人员自己更加便于理解程序。Java语言支持三种注释类型。
1.单行注释语句
形式为“//”,表示以//开始的一行字符内容。
例如:
2.多行注释语句
形式为“/*……*/”,表示由/*开始,以*/结束的包含多行字符内容。
例如:
3.文档注释语句
形式为“/**……*/”,表示由/**开始,由*/结束的包含多行字符内容,与多行注释语句不同的是,当使用javadoc命令(javadoc.exe)准备自动生成的文档时,这些注释可生成帮助文档。
例如: