经过上节的操作已经配置完了 Java 的开发环境,但并不清楚所配置的开发环境是否真的可以运行 Java 应用程序。为了解除这个疑虑,也为了使读者对开发 Java 应用程序的步骤有一个初步的了解,本节将展示一个完整 Java 应用程序的开发过程。
Java 源程序可以使用任何一个文本编辑器来编写,这里以 Windows 下的记事本为例。
(1) 新建一个空白记事本,然后如实地输入下列内容。 很多初学者可能不明白此程序的全部意义,没关系,请完全按照实例的样式输入,包括各种括号与标点符号。
/*
*第一个java程序
*/
public class HelloJava {
// 这里是程序入口
public static void main(String[] args) {
// 输出字符串
System.out.println("你好 Java");
}
}
下面对源代码中的重要组成元素进行简单介绍。
(2) 将写完代码后的文件另存为 HelloJava.java,保存类型选择“所有文件”,接着单击“保存”按钮,保存文件到 D:\myJava 文件夹中,如图 1 所示。
提示:保存的文件名中不能出现空格,类似“Hello Java.java”的文件名在编译时会出现找不到文件的错误。
将 Java 源程序编写并保存到文件之后,还需要进行编译才能运行。编译 Java 源程序使用的是 JDK 中的 javac 命令,例如编译上节的 HelloJava.java,完整命令如下。
javac HelloJava.java
javac HelloJava.java 命令的作用是让 Java 编译器获取 Java 应用程序 HelloJava.java 的源代码,把它编译成符合 Java 虚拟机规范的字节码文件。这时会生成一个新文件 HelloJava.class,此文件便是我们所说的字节码文件,它也是 JVM 上的可执行文件,如图 2 所示。
运行 Java 程序需要使用 JDK 中的 java 命令,例如运行上步生成的 .class 文件,完整命令如下:
java HelloJava
具体的执行效果如图 3 所示。
对图片中各个步骤的说明:
在使用 javac 编译器编译源代码文件时,可能会出现下面几个常见问题。
(1) Error:cannot read:HelloJava.java javac。工具程序找不到指定的 java 文件,需要检查文件是否存储在当前目录中,或文件名是否错误。
(2) HelloJava.java:4:class HelloJava is public,should be declared in a file named MyApplication.java。源文件中类的名称和源文件名称不符,需要确定源文件名称和类名称是否相同。
(3) HelloJava.java:6:cannot find symbol。源程序文件中某些代码部分输入错了,最常产生的原因可能是没有注意到字母的大小写。
(4) Javac 不是内部或外部命令、可执行程序或批量文件。path 设置有误或没有在 path 系统变量中加入 JDK 的 bin 目录。
如果没有出现上述所列问题,即成功编译了该 Java 文件。在解释执行 .dass 文件时,可能会出现下面几个常见问题。
(1) Exception in thread “main” java.lang.NoClassDe£FoundError。Java 工具程序找不到所指定的 .class 类,需要确定指定的类是否存储在当前目录中,名称是否正确。
(2) Exception in thread “main” java.lang.NoSuchMetliodError:main。没有指定 Java 程序的入口。Java 工具程序指定的类必须有一个程序入口,也就是必须包括 main(String args[]) 这个方法。
提示:在后面的章节中,如果不是特别强调,就不再重复介绍如何编译与解释执行 Java 程序。