
第2章 Java的基本程序结构
2.1 第一个Java程序
像其他编程语言一样,Java编程语言也被用来创建应用程序。比较常用的应用程序的例子是在屏幕上显示字符串“Hello World!”。下面以此程序为例来介绍Java的基本程序结构。
Java应用程序的代码如下。

以上程序的执行结果是在屏幕上打印“Hello World!”。
第1~3行是注释行。
第4 行声明类名为HelloWorldApp。类名(Classname)是在源文件中指明的,它可在与源代码相同的目录上创建一个Classname.class文件。在本例中,编译器创建了一个称为HelloWorldApp.class的文件,它包含了公共类HelloWorldApp的编译代码。
第6行:“public static void main (String[] args)”,是程序执行的起始点。Java技术解释器必须发现这一严格定义的点,否则将拒绝运行程序。
public:方法main()是程序的入口。
static:是一个告知编译器main()是用于类HelloWorldApp中的方法的关键字。为使main()在程序做其他事之前就开始运行,这一关键字是必要的。
void:表明main()不返回任何信息。这一点是重要的,因为Java编程语言要进行谨慎的类型检查,包括检查调用的方法确实返回了这些方法所声明的类型。
String[] args:是一个String数组的声明,它将取值于类名之后的命令行中的参数。
如果在程序的命令行中给出了任何参数,它们将被传递给main()方法中被称做args的String数组。在本例中,未使用自变量。
第8行:“System.out.println ("Hello World!");”声明如何使用类名、对象名和方法调用。它使用由System类的out成员引用的PrintStreamout对象的println()方法,将字符串“Hello World!”打印到标准输出设备上。在这个例子中,println()方法被输入了一个字符串自变量并将其写在了标准输出流上。下面来编译并运行HelloWorldApp,这里使用的软件是JCreator 4.5版本,如图2.1所示。

图2.1 JCreator 4.5
① 编译:选择“Build”→“Build File”命令。
如果没有错误,则在Build Output窗口中出现“Process completed.”,如图2.2所示。

图2.2 编译完成
如果出现错误,则在Build Output窗口中出现问题的提示,双击提示的问题,则会直接跳到程序中出错的行。
② 运行:选择“Run”→“Run Project”命令,如图2.3所示。

图2.3 运行程序
然后在输出窗口会输出“Hello World!”,如图2.4所示。

图2.4 输出结果
至此,第一个Java程序编译成功了。