1.2 “Hello World!”应用程序
下面几节详细讲解如何编译和运行简单的应用程序“Hello World!”。第1节介绍使用NetBeans IDE开始程序设计,NetBeans IDE是一个集成开发环境,它极大地简化了软件开发过程。其余几节介绍在不使用集成开发环境的情况下,如何在特定平台上开始编程。
1.2.1 使用NetBeans IDE编写“Hello World!”
现在开始编写你的第一个应用程序!下面的详细说明适用于NetBeans IDE用户。NetBeans IDE运行在Java平台上,这就是说你可以在能够运行JDK 6的任何操作系统上运行它。这些操作系统包括Microsoft Windows、Solaris OS、Linux和Mac OS X。
如果你不喜欢使用IDE编写程序,请参阅1.2.2节或者1.2.3节。
1. 检查清单
为了编写第一个程序,你需要:
l JDK 6;
l NetBeans IDE。
你可以下载JDK和NetBeans IDE的捆绑软件包。有用于Microsoft Windows、Solaris OS和Linux操作系统的软件包安装程序。
也可以分别下载和安装JDK和IDE。可以在下面网址单独下载JDK:
http://java.sun.com/javase/6/download.jsp
(注意确保你下载的是JDK,而不是JRE。)
可以在下面网址单独下载NetBeans IDE:
http://www.netbeans.org/downloads/
注意 本节中显示的屏幕截图反映的是运行在JDK 6 上的NetBeans IDE 5.0。编写本书时,5.0是最新的IDE版本。你阅读本书时,可能有了更新的IDE版本,但是这里演示的工作流程应该是相同的。
2. 创建第一个应用程序
第一个应用程序HelloWorldApp简单地显示问候语“Hello World!”。为了创建这个程序,你需要:
l 创建IDE工程。创建IDE工程时,将创建一个环境,在其中构建(build)和运行应用程序。使用IDE工程免去了通常与javac编译器和java启动器工具相关的配置工作。通过选择IDE中的一个菜单项,就可以构建和运行应用程序。
l 把代码添加到生成的源文件。源文件包含使用Java编程语言编写的代码,你和其他程序员都能够理解它。作为IDE工程创建工作的一部分,会自动生成一个框架源文件。然后你修改这个源文件,加上“Hello World!”消息。
l
把源文件编译为.class文件。IDE调用Java编程语言编译器(javac),它处理源文件并且把源文件的文本转换为Java虚拟机能够理解的指令。这个文件中包含的指令被称为字节码(bytecode)。
l 运行程序。IDE调用Java应用程序启动器工具(java),它使用Java虚拟机运行应用程序。
创建IDE工程
创建IDE工程,操作步骤如下。
(1) 启动NetBeans IDE。
l 在Microsoft Windows系统中,可以在“Start”菜单中选择NetBeans IDE菜单项。
l
在Solaris OS和Linux系统中,进入IDE的bin目录并且输入./netbeans执行IDE启动器脚本。
l 在Mac OS X系统中,点击NetBeans IDE应用程序图标。
(2) 在NetBeans IDE中,选择File | New Project(见图1-4)。
(3) 在New Project向导中,展开General分类项,选择Java Application(见图1-5)。
|
|
|
图1-5 在NetBeans IDE中New Project向导的Choose Project页面 |
(4) 在向导的Name and Location页面中,进行如下操作(见图1-6):

图1-6 NetBeans IDE中New Project向导的Name and Location页面
l 在Project Name字段中,输入Hello World App。
l 在Create Main Class字段中,输入helloworldapp.HelloWorldApp。
l 选中Set as Main Project复选框。
(5) 点击Finish。
现在已经创建了工程,并且在IDE中打开了。你应该看到如下组件:
l Projects窗口,它包含工程组件的树形视图,包括源文件、代码依赖的库等。
l Source Editor窗口,其中打开了名为HelloWorldApp的文件。
l Navigator窗口,在其中可以在被选中类的元素之间快速移动(见图1-7)。

图1-7 打开了HelloWorldApp工程的NetBeans IDE
把代码添加到生成的源文件
因为我们在New Project向导中选中了Create Main Class复选框,所以IDE已经为你创建了框架类。通过把下面这一行
// TODO code application logic here
替换为
System.out.println("Hello World!"); // Display the string.
就可以把“Hello World!”消息添加到框架代码中。
还可以把代码
/**
*
* @author
*/
替换为
/**
* The HelloWorldApp class implements an application that
* simply prints "Hello World!" to standard output.
*/
这4行是代码注释,不会影响程序的运行方式。后面的章节将讲解代码注释的使用和格式。
输入代码时要谨慎 严格按照前面所显示的输入所有代码、注释和文件名。编译器(javac)和启动器(java)是区分大小写的,所以必须保持大小写的一致性。换句话说,HelloWorldApp不等同于helloworldapp。
选择File | Save保存文件修改。
文件应该如下所示:
/*
* HelloWorldApp.java
*
* Created on February 5, 2006, 6:43 PM
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package helloworldapp;
/**
* The HelloWorldApp class implements an application that
* simply prints "Hello World!" to standard output.
*/
public class HelloWorldApp {
/** Creates a new instance of HelloWorldApp */
public HelloWorldApp() {
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
}
把源文件编译为.class文件
要编译源文件,选择IDE主菜单的Build | Build Main Project菜单项。
Output窗口打开,并且显示类似图1-8所示的输出。

图1-8 Output窗口显示构建HelloWorld工程的结果
如果构建输出以“BUILD SUCCESSFUL”语句结束,那么祝贺你!你已经成功地编译了程序!
如果构建输出以“BUILD FAILED”语句结束,那么代码中可能有语法错误。错误在Output窗口中显示为超链接文本。双击这样的超链接就会定位到出现错误的源代码。你可以纠正错误,然后再次选择Build | Build Main Project。
构建工程时生成了HelloWorldApp.class字节码文件。打开Files窗口,然后展开Hello World App/ build/classes/helloworldapp节点,就能看到生成的新文件在什么位置,如图1-9所示。
现在,编译完工程,可以运行应用程序了。
运行程序
在IDE的菜单栏中选择Run | Run Main Project。
图1-10显示你将看到的画面。
|
|
|
图1-10 程序在Output窗口中输出“Hello World!”(以及编译脚本的其他输出) |
祝贺你!你的程序能够工作了!
3. NetBeans IDE的进一步介绍
在1.3节中将分析这个简单应用程序中的代码。虽然本书的其余部分没有专门说明如何使用NetBeans IDE,但是你可以轻松地使用这个IDE编写和运行示例代码。下面是使用这种IDE的一些技巧和可能用到的一些IDE特性。
l 在IDE中创建了工程之后,你可以使用New File向导把文件添加到工程中。选择File | New File,然后在向导中选择一个模板,比如Empty Java File模板。
l 使用IDE的Compile File(F9)和Run File(Shift-F6)命令,可以编译和运行单个文件(而不是整个工程)。如果使用Run Main Project命令,IDE就会运行被IDE关联为主工程的主类的文件。因此,如果在HelloWorldApp工程中创建了额外的类,然后试图使用Run Main Project命令运行这个文件,那么IDE就会运行HelloWorldApp,而不是这个文件。
l 对于包含一个以上源文件的示例应用程序,你可能希望创建单独的IDE工程。
l 在IDE中输入代码时,可能会定期地出现代码补全框。你可以忽略代码补全框并且继续输入,也可以选择使用它建议的表达式。如果不希望代码补全框自动出现,可以关闭这个特性。选择Tools | Options,点击Editor选项卡,然后去掉Auto Popup Completion Window复选框的选定。
l
如果试图改变Projects窗口中源文件的节点名称,IDE会显示Rename对话框,引导你重新命名类和更新引用这个类的代码。点击Next显示Refactoring窗口,它包含可以进行的修改的树形视图。然后点击Do
Refactoring进行修改。如果工程中只有一个类,那么这一系列的点击似乎是多余的,但是当你的改动影响到大型工程中其余部分的代码时,这些操作就非常有用了。
l 要获得NetBeans IDE特性的更详尽说明,请参阅NetBeans IDE的Docs和Support页面,或者浏览IDE的Help菜单的文档。
1.2.2 在Microsoft Windows平台上编写“Hello World!”
现在开始编写你的第一个应用程序!下面的说明适用于Windows XP专业版、Windows XP家庭版、Windows Server 2003、Windows 2000专业版和Windows Vista的用户。Solaris OS和Linux平台的编程说明请参阅1.2.3节。
1. 检查清单
为了编写第一个程序,你需要:
(1) JDK 6
现在可以下载Windows版本。(注意,确保你下载的是JDK,而不是JRE。)请参考安装说明。
(2) 文本编辑器
在这个例子中我们使用记事本(NotePad),它是Windows平台自带的简单编辑器。如果你使用其他文本编辑器,这些说明也适用。
这两个工具完全能够满足你编写第一个应用程序的需要。
2. 创建第一个应用程序
第一个应用程序HelloWorldApp简单地显示问候语“Hello World!”。要创建这个程序,你需要:
l 创建源文件,源文件包含使用Java编程语言编写的代码,你和其他程序员都能够理解它。你可以使用任何文本编辑器创建和编辑源文件。
l 把源文件编译为.class文件,Java编程语言编译器(javac)处理源文件并且把源文件的文本转换为Java虚拟机能够理解的指令。这个文件中包含的指令被称为字节码(bytecode)。
l 运行程序,Java应用程序启动器工具(java)使用Java虚拟机运行应用程序。
创建源文件
创建源文件,有两个做法可以选择:
l 把文件HelloWorldApp.java保存到你的计算机上,这样可以避免很多输入操作。然后,可以直接跳到“把源文件编译为.class文件”部分。
l 或者,可以按照下面的指导(操作要多一些)。
首先打开编辑器。可以选择Start菜单的Programs > Accessories > Notepad打开记事本。在新文档中,输入如下代码:
/**
* The HelloWorldApp class implements an application that
* simply prints "Hello World!" to standard output.
*/
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
}
输入代码时要谨慎 严格按照前面所显示的输入代码、注释和文件名。编译器(javac)和启动器(java)是区分大小写的,所以必须保持大小写的一致性。换句话说,HelloWorldApp不等同于helloworldapp。
把代码保存到名为HelloWorldApp.java的文件中。在记事本中的操作步骤是:首先选择File > Save As菜单项。然后,在Save As对话框中:
(1) 使用Save in下拉框,指定要保存文件的文件夹(目录)。在这个例子中,目录是C盘的java目录。
(2) 在File name文本框中,输入"HelloWorldApp.java",包括引号。
(3) 在Save as type下拉框中,选择Text Documents (*.txt)。
(4) 在Encoding下拉框中,保持编码为ANSI不变。
完成操作时,对话框应该如图1-11所示。

图1-11 点击Save之前的Save As对话框
现在点击Save,退出记事本。
把源文件编译为.class文件
打开shell,或者说“命令”窗口。为了进行这一操作,可以在Start菜单选择Command Prompt(Windows XP),或者选择Run,然后输入cmd。shell窗口类似于图1-12所示。
命令提示符显示你的当前目录(current directory)。在打开命令提示符时,你的当前目录通常是Windows XP的主目录(如图1-12所示)。
要编译源代码文件,应该将当前目录改变为文件所在的目录。例如,如果你的源代码目录是C盘上的java目录,那么在命令提示符中输入以下命令并按回车键:
cd C:\java
现在,命令提示符应该变成C:\java>。

图1-12 shell窗口
注意 要改变为另一个驱动器上的目录,就必须多输入一个命令:驱动器的名称。例如,要改变为D盘上的java目录,就必须输入驱动器符号D:,如图1-13所示。

图1-13 改变到另一个驱动器上的目录
如果在命令提示符中输入dir,也应该能看到源文件,如图1-14所示。

图1-14 目录清单显示.java源文件
现在准备进行编译。在命令提示符中,输入如下命令并且按回车键:
javac HelloWorldApp.java
编译器生成字节码文件HelloWorldApp.class。在命令提示符中输入dir查看生成的新文件,如图1-15所示。

图1-15 目录清单显示生成的.class文件
有了.class文件,就可以运行程序了。
运行程序
在相同的目录中,在命令提示符中输入以下命令:
java HelloWorldApp
图1-16所示为应该看到的画面。

图1-16 程序在屏幕上输出“Hello World!”
祝贺你!你的程序能够工作了!
1.2.3 在Solaris OS和Linux平台上编写“Hello World!”
现在开始编写你的第一个应用程序!下面的说明适用于Solaris OS和Linux用户。Microsoft Windows的编程说明请参阅1.2.2节。
1. 检查清单
为了编写第一个程序,你需要:
(1) JDK 6
现在你可以下载Solaris OS或者Linux版本。(注意,确保你下载的是JDK,而不是JRE。)请参考安装说明。
(2) 文本编辑器
在这个例子中我们使用Pico,它是很多基于UNIX的平台上的编辑器。如果你使用其他文本编辑器,比如vi或者emacs,这些说明也适用。
这两个工具能够完全满足你编写第一个应用程序的需要。
2. 创建第一个应用程序
第一个应用程序HelloWorldApp简单地显示问候语“Hello World!”。为了创建这个程序,你需要:
l 创建源文件。源文件包含使用Java编程语言编写的代码,你和其他程序员都能够理解它。可以使用任何文本编辑器创建和编辑源文件。
l 把源文件编译为.class文件。Java编程语言编译器(javac)处理源文件并且把源文件的文本转换为Java虚拟机能够理解的指令。这个.class文件中包含的指令被称为字节码(bytecode)。
l 运行程序。Java应用程序启动器工具(java)使用Java虚拟机运行应用程序。
创建源文件
创建源文件,有两个做法可以选择:
l 把文件HelloWorldApp.java保存到你的计算机上,这样可以避免很多输入操作。然后,可以直接跳到“把源文件编译为.class文件”部分。
l 或者,可以按照下面的指导(操作要多一些)。
首先打开shell,或者说“终端(terminal)”窗口(见图1-17)。

图1-17 新的终端窗口
打开命令提示符时,当前目录(current directory)通常是主目录(home directory)。任何时候都可以在命令提示符中输入cd并且按回车键,把当前目录改变为主目录。
应该把创建的源文件保存在单独的目录中。可以使用mkdir命令创建一个目录。例如,为了在主目录中创建java目录,可以使用如下命令:
cd
mkdir java
为了把当前目录改变为这个新的目录,可以输入:
cd java
现在可以开始创建源文件了。
在命令提示符中输入pico并且按下回车键,打开Pico。如果系统回应的信息为:“pico: command not found”,那么很可能是因为Pico不可用。更多的信息请联系你的系统管理员,或者使用另一种编辑器。
启动Pico时,它会显示新的空白缓冲区(buffer),你在这个区域中输入代码。
在新的缓冲区中输入下列代码:
/**
* The HelloWorldApp class implements an application that
* simply prints "Hello World!" to standard output.
*/
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
}
输入代码时要谨慎 严格按照前面所显示的输入代码、注释和文件名。编译器(javac)和启动器(java)是区分大小写的,所以必须保持大小写的一致性。换句话说,HelloWorldApp不等同于helloworldapp。
把代码保存在名为HelloWorldApp.java的文件中。要在Pico编辑器中完成这一操作,首先按下Ctrl+O,然后在命令提示符的底部将看到“File Name to write:”,输入你希望文件所在的目录,后面跟着HelloWorldApp.java。例如,如果希望把文件HelloWorldApp.java保存到目录/home/jdoe/java中,就输入/home/jdoe/java/HelloWorldApp.java并且按下回车键。
按下Ctrl+X退出Pico。
把源文件编译为.class文件
打开另一个shell窗口。为了编译源文件,需要把当前目录改变为你的文件所在的目录。例如,如果源文件目录是/home/jdoe/java,就在命令提示符中输入如下命令并且按下回车键:
cd /home/jdoe/java
如果在命令提示符中输入pwd,就应该看到当前目录,在这个例子中应该已经改变到了/home/jdoe/java。
如果在命令提示符中输入ls,就应该看到你的文件(见图1-18)。

图1-18 ls命令的结果,显示.java源文件
现在准备编译源文件。在命令提示符中,输入如下命令并且按下回车键:
javac HelloWorldApp.java
编译器生成字节码文件HelloWorldApp.class。在命令提示符中输入ls查看生成的新文件(见图1-19)。

图1-19 ls命令的结果,显示生成的.class文件
准备好.class文件,就可以运行程序了。
运行程序
在相同的目录中,在命令提示符中输入如下命令:
java HelloWorldApp
图1-20所示为应该看到的画面。

图1-20 屏幕上输出“Hello World!”
祝贺你!你的程序能够工作了!








