Java开发环境建立好以后,即可开始编写Java应用程序。为了使读者对开发Java应用程序的步骤有一个初步的了解,本节展示一个完整的Java应用程序开发过程,并给出一些开发过程中应该注意的事项。
Java源程序的编辑可以在Windows的“记事本”中进行,也可以在诸如Edit Plus、Ultra Edit之类的文本编辑器中进行,还可以在Eclipse、NetBeans、JCreator、MyEclipse等集成的开发工具中进行。
现在假设在“记事本”中进行源程序的编辑。启动“记事本”应用程序,在其窗口中输入如下程序代码:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
程序代码输入完毕,将该文件另存为HelloWorld.java,保存类型选择为“所有文件”,然后单击“保存”按钮,可以保存到硬盘的任何位置。建议专门创建一个文件夹用来存放Java源文件,此处假设把文件保存到D:\javacode\chapter1文件夹中,如图1-10所示。
图1-10 保存HelloWorld.java文件的窗口
注意事项 存储文件时,源程序文件的扩展名必须为.java,且源程序文件名必须与程序中声明为public class的类的名字完全一致(包括大小写)。
JDK所提供的开发工具主要有编译程序、解释执行程序、调试程序、Applet执行程序、文档管理程序、包管理程序等,这些程序都是控制台程序,要以命令的方式执行。其中,编译程序和解释执行程序是最常用的程序,它们都在JDK安装目录下bin文件夹中。
Java源程序编写好以后,第二步要进行编译。JDK的编译程序是javac.exe,该命令将Java源程序编译成字节码,生成与类同名但后缀名为.class的文件。通常情况下编译器会把.class文件放在和Java源文件相同的文件夹里,除非在编译过程中使用了“-d”选项。javac的一般用法如下。
javac [选项…] file.java
其中,常用选项如下。
· -classpath: 设置路径,在该路径上javac寻找需被调用的类。该路径是一个用分号分开的目录列表。
· -d directory: 指定存放生成的类文件的位置。
· -g: 在代码产生器中打开调试表,以后可凭此调试表产生字节代码。
· -nowarn: 禁止编译器产生警告。
· -verbose: 输出有关编译器正在执行的操作的消息。
· -sourcepath <路径>: 指定查找输入源文件的位置。
· - version: 标识版本信息。
虽然javac的选项众多,但是这些选项都是可选的,并不是必需的。对于初学者而言,只需要掌握最简单的用法就可以了。
例如,编译HelloWorld.java源程序文件,只需在命令行输入如下命令:
javac HelloWorld.java
注意事项 javac和HelloWorld.java之间必须用空格隔开,文件名的后缀.java不能省略。
编译HelloWorld.java的具体步骤如下。
步骤01 利用1.2节介绍的方法,进入命令行窗口。在命令行窗口,输入“d: ”,按回车键转到D盘,然后再输入“cd javacode\chapter1”,按回车键进入Java源程序文件所在目录。
步骤02 输入命令“javac HelloWorld.java”,按回车键。如果没有任何其他信息出现,表示该源程序已经通过编译。
具体操作操作过程如图1-11所示。
图1-11 编译程序的命令行窗口
注意事项 如果编译不正确,则输出错误信息。程序员可根据错误提示信息修改源代码,直到编译正确为止。
编译成功后,可以在D:\javacode\chapter1文件夹中看到一个名为HelloWorld.class的文件,如图1-12所示。
图1-12 chapter1文件夹窗口
源程序编译成功后,得到一个同名的字节码文件。然后就可以使用JDK的解释执行程序java.exe对字节码文件进行解释执行。它的一般用法如下。
java [选项…] file [参数…]
其中,常用选项如下。
· -classpath: 用于设置路径,在该路径上java寻找需被调用的类。该路径是一个用分号分开的目录列表。
· - client: 选择客户虚拟机(这是默认值)。
· - server: 选择服务虚拟机。
· - hotspot: 与client相同。
· - verify: 对所有代码使用校验。
· - noverify: 不对代码进行校验。
· - verbose: 每当类被调用时,向标准输出设备输出信息。
· - version: 输出版本信息。
同样地,初学者只要掌握最简单的用法即可。例如,要执行HelloWorld.class文件,只需要在命令行输入java HelloWorld,随后按回车键。如果在窗口中出现“Hello world!”说明程序执行成功,执行结果如图1-13所示。
图1-13 “程序执行结果”窗口
注意事项 java HelloWorld的作用是让Java解释器装载、校验并执行字节码文件HelloWorld.class。在输入文件名时,大小写必须严格区分,并且文件名的后缀.class必须省略,否则无法执行该程序。
通过上面的例子,可以看出一个简单的Java应用程序的特性。
第一,在Java中,程序都是以类的方式组织的,每个可运行的应用程序都对应一个类文件。例如,程序中的public class HelloWorld表示要声明一个名为HelloWorld的类,其中class是声明一个类必需的关键字,public代表这个类可以被外界调用。类由类头和类体组成,类体部分的内容由一对花括号括起来。
第二,Java应用程序可以由若干类组成,每个类可以定义若干个方法。但其中必须有一个类中包含有一个且只能有一个public static void main(String args[])方法,main()方法是所有Java应用程序执行的入口点。当运行Java应用程序时,整个程序将从main()方法开始执行。特别地,一个“.java”文件中可以定义多个类,但是只能有一个public类。一般建议一个文件里面定义一个类。
第三,System.out是Java提供的标准输出对象,println是该对象的一个方法,用于向屏幕输出。