Java从初学到精通
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.4 开发第一个Java应用程序

安装好JDK及配置好环境变量以后,就可以着手开发Java应用程序了。开发Java程序要经过以下三个步骤。

(1)创建一个源文件。

(2)将源文件编译为一个.class文件。

(3)运行程序。

1.4.1 创建第一个Java应用程序源文件

Java应用程序的开发过程,如1.2.1节中的图1.1所示。Java源文件包含有程序代码,以Java语言编写。Java源文件是纯文本文件,扩展名为“.java”。可以使用任何文本编辑器来创建和编辑源文件,本书使用Windows系统自带的记事本作为Java源文件的编辑器。

下面按上面所述步骤开发第一个简单的Java应用程序HelloWorldApp.java。这个程序很简单,仅仅在控制台输出“Hello World!”。首先需要创建一个Java的源程序文件。

【例1.1】创建HelloWorldApp.java应用程序,该程序输出“Hello World!”字符串信息。按以下步骤创建。

① 启动编辑器。通过选择【程序】|【附件】|【记事本】命令,启动记事本编辑器。在一个新的文本文档中,输入以下代码:

        // HelloWorldApp应用程序简单地输出一个问候:"Hello World! "
        public class HelloWorldApp {
            public static void main(String[] args) {
              System.out.println("Hello World!"); //输出"Hello World!"字符串
            }
        }

注意

必须准确地输入代码、命令和文件名,因为编译器javac和启动程序java都是大小写敏感的,所以必须保持大小写一致。HelloWorldApp ≠ helloworldapp。另外,文件中的所有标点符号,必须在英文状态下输入。

② 将代码保存到以HelloWorldApp.java名字命名的文件中。在记事本中,选择【文件】|【另存为】命令,打开【另存为】对话框。

使用【保存在】组合框,指定要保存文件的目录。在本示例中是“C:\examples\chapter01”目录。

在【文件名】文本框中输入“HelloWorldApp.java”。

从【保存类型】下拉列表框中,选择“文本文档(*.txt)”。

在【编码】下拉列表框中,保持编码为ANSI。

结束以上操作时,对话框看上去应该如图1-17所示。

图1-17 保存Java源文件

③ 打开“C:\examples\chapter01”目录,可以看到一个名为HelloWorldApp.java的文件。

1.4.2 将HelloWorldApp.java源文件编译为.class文件

源文件是使用人类易于理解的语言和语法形式编写的,是程序人员阅读的程序代码,但计算机并不能识别,计算机只能识别“0、1”组成的二进制代码。要想让计算机识别并运行Java程序,还需要将源文件编译为二进制的字节码文件。

编译Java源文件,使用JDK自带的编译器工具javac.exe,它会读取源文件并将其文本翻译为Java虚拟机能理解的指令,保存在以后缀.class结尾的文件中。包含在这个文件中的指令就是众所周知的字节码(bytecodes),它是与平台无关的二进制文件,执行时由解释器java.exe解释成本地机器码,边解释边执行。按以下步骤编译HelloWorldApp.java源文件。

① 打开命令行窗口。通过选择【开始】|【所有程序】|【附件】|【命令提示符】命令,打开【命令提示符】窗口。也可以选择【开始】|【运行】命令,打开【运行】窗口。在【运行】窗口中输入“cmd”命令并回车,打开【命令提示符】窗口,如图1-18所示。

图1-18 启动命令提示符窗口

提示符显示了系统当前目录。系统当前目录通常是Windows XP的home目录。

② 改变当前目录。要编译源文件,改变当前目录到HelloWorldApp.java文件所在的目录。在本示例中,源文件是保存在“C:\examples\chapter01”目录中。输入以下命令,如图1-19所示。

图1-19 进入源文件所在目录

        cd C:\examples\chapter01

③ 查看源文件。输入“dir”命令,列出当前目录下的文件清单,如图1-20所示。可以看到当前目录下的源文件HelloWorldApp.java源文件。

④ 开始编译。在命令提示符下,输入以下的命令并回车,如图1-21所示。

图1-21 编译HelloWorldApp.java源文件

        javac HelloWorldApp.java

⑤ 查看.class类文件。在命令提示符下,输入“dir”命令并回车,可以看到多了一个新的文件HelloWorldApp.class,如图1-22所示。

1.4.3 运行HelloWorldApp应用程序

将源文件编译为.class文件后,就可以使用Java解释器(java.exe)来解释执行Java应用程序的字节码文件(.class文件)了。Java解释器使用Java虚拟机来运行Java应用程序。在与源文件同一目录下,在命令提示符状态下,输入以下命令并回车,应该看到如图1-23所示内容。

图1-23 运行HelloWorldApp应用程序

        java HelloWorldApp

从图1.23可以看到,运行HelloWorldApp应用程序,输出了一个问候信息“Hello World!”。祝贺你!你的第一个Java应用程序工作正常!

1.4.4 Java应用程序的基本结构

在成功地编写、编译并运行了第一个Java应用程序“HelloWorldApp.java”程序以后,下面分析一下该应用程序的基本结构。HelloWorldApp应用程序由三个主要部分组成。

源代码注释;

HelloWorldApp类定义;

main()方法。

1.源代码注释

Java语言鼓励程序员在自己的程序中添加注释,用来解释程序的某些部分如何工作或某部分的特殊功能,以帮助自己或团队成员理解代码的含义。下面的程序中定义了“Hello World!”应用程序的注释。

        // HelloWorldApp应用程序简单地输入一个问候:"Hello World! "
        public class HelloWorldApp {
            public static void main(String[] args) {
              System.out.println("Hello World!"); //输出"Hello World! "字符串
            }
        }

注释的内容会被编译器所忽略,也就是说,注释并不会影响程序的执行,但是对于程序员理解代码来说是很有用的。Java语言支持三种类型的注释:单行注释、多行注释和文档注释。

单行注释。单行注释以“//”开始,并以换行符结束。通常对程序进行简单的说明用单行注释。编译器会忽略从“//”到本行结束间的任何内容。

多行注释。多行注释以“/*”开始以“*/”结尾。编译器会忽略从“/*”到“*/”这两个注释符之间的任何内容。注释的内容可以包括多行。

文档注释。文档注释以“/**”开始,并以“*/”结束。编译器忽略这一类的注释,就像它忽略使用“/*”和“*/”的注释一样。对于在方法体外的文档注释,可以使用Java的文件生成工具javadoc自动地将其生成文档。

2.HelloWorldApp类定义

下面是定义HelloWorldApp应用程序类的代码:

        public class HelloWorldApp {
            …           //这里为类中的属性和方法定义
        }

说明

HelloWorldApp为类的名称。Java程序是由类(class)组成的,一个Java源文件中可以包含多个类。在本示例中,只有一个类HelloWorldApp。

类的基本结构是:

        class类名{
          …
        }

class是Java语言的关键字,是用来定义类的,这是必需的。public也是Java语言的关键字,它将这个类定义为一个公共类(后续章节有详细和系统的讲解)。在一个Java程序中,可以有多个类,但是只能有一个类是公共类。在类名后面,紧跟一对花括号,花括号之间的内容称为类体。

3.main()方法

在Java语言中,每一个应用程序必须包含一个main()方法,如以下代码所示。

        // HelloWorldApp应用程序简单地输入一个问候:"Hello World! "
        public class HelloWorldApp {
            public static void main(String[] args) {
              System.out.println("Hello World!"); //输出"Hello World! "字符串
            }
        }

说明:

main()方法是Java程序的入口,所有的Java应用程序都通过调用main()方法开始执行。

public static void main(String[] args)为固定用法,称为main方法的“方法签名”。其中public、static、void都是Java的关键字,其含义在后续章节中有详细讲解。

修饰符public和static可以以任何顺序书写(public static或static public),但是习惯上是使用public static,如上面的例子中所示。

main()方法后面,必须跟一对花括号。花括号及其之间的内容,称为“方法体”。

一个Java应用程序必须有一个类含有main()方法,这个类称为应用程序的“主类”。

最后,使用核心类库中的System类来打印输出“Hello World!”消息到标准输出,如下面这行代码所示。

        System.out.println("Hello World!);