
1.6 Java程序开发实例
刚刚进入Java的世界,开发一个入门的程序是必不可少的,为了更好地理解Java的强大功能,下面介绍一个简单的实例。
【例1-1】 开发第一个简单的Java程序。

该程序的输出结果如下:
First Java Program!
可以看到上面的程序很简单,程序中首先使用package sample定义了sample包,用来管理多个类,它会映射到一个相同名字的文件夹。之后用保留字class来声明一个新的类,其类名为Example1,它是一个公共类(public)。整个类定义由大括号“{}”括起来。在该类中定义了一个main()方法,其中public表示访问权限,指明所有的类都可以使用这一方法;static指明该方法是一个类方法,它可以通过类名直接调用;void则指明main()方法不返回任何值。对于一个应用程序来说,main()方法是必需的,而且必须按照如上的格式来定义。Java解释器在没有生成任何实例的情况下,以main()作为入口来执行程序。Java程序中可以定义多个类,每个类中可以定义多个方法,但是最多只能有一个公共类,main()方法也只能有一个,作为程序的入口。main()方法定义中,括号()中的String args[]是传递给main()方法的参数,参数名为args,它是类String的一个实例,参数可以为0个或多个,每个参数用“类名参数名”来指定,多个参数间用逗号分隔。在main()方法的实现(大括号中),只有一条语句“System.out.println("First Java Program!");”用来实现字符串的输出。另外,//后的内容为注释。
现在可以运行该程序。首先建立一个名为sample的文件夹,与包名相同。之后把Example1.java文件放到其中,这里的文件名应该和类名相同,因为Java解释器要求公共类必须放在与其同名的文件中。然后对它进行编译:
C:\>javac sample\Example1.java
编译的结果是生成字节码文件Example1.class。最后用Java解释器来运行该字节码文件:
C:\>java sample.Example1
结果在屏幕上显示“First Java Program!”。
注意:javac和java两个命令都存在于Java的安装目录下。
从上述例子可以看出,Java程序是由类构成的,对于一个应用程序来说,必须有一个类中定义main()方法。在类的定义中,应包含类变量的声明和类中方法的实现。Java在基本数据类型、运算符、表达式、控制语句等方面与C、C++基本上相同,但它也增加了一些新的内容,在以后的各章中将详细介绍。本节只是对Java程序有初步的了解。
【关键技术解析】
(1)可以使用package关键字定义一个包(可选)。
(2)然后根据需要可以使用import导入Java类库(可选)。
(3)使用class关键字定义一个类。
(4)在一个可执行的类中必有一个main()函数,该函数是本程序的入口。
(5)利用System.out.println()语句将信息输出在控制台上。
知识拓展:Java虚拟机
如前所述,Java语言编辑的源程序的执行方法是先经过编译器编译,再利用解释器解释的方式来运行的。Java程序的开发及运行周期如图1-23所示。

图1-23 Java程序的开发及运行周期
基于Java运行的平台无关性特点,可以直观地理解为:在常规的计算机运行环境中,一定存在多种类型的Java解释程序以帮助运行Java程序。任何一种可以运行Java程序(即可以担任Java解释器)的软件都可以称为Java虚拟机(Java Virtual Machine,JVM),因此,诸如浏览器与Java的一部分开发工具等皆可看作JVM。当然也可以把Java的字节码(byte-codes)看成JVM所运行的机器码。