第一个 java 程序
现在您可以编写自己的第一个 Java 程序——无处不在的 Hello World 程序。打开文本编辑器,输入您从清单 1 中准确看到的源代码。
清单 1. Hello World 程序
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
Java 语言是大小写敏感的,诸如 class 和 public 这样的关键字总是小写的。可以使用任意大小写字母组合来表示变量和方法名称,只要您在整个给定的类中一致地使用它们。当您完成键入时,请把代码保存为一个名为 HelloWorld.java 的文件。对于这个文件名,您没有其他的选择。Java 源文件使用 .java 扩展名,并且每个 Java 源代码文件都 必须与您在其中定义的类具有完全相同的名称。我们已经多次重申了:大小写是很重要的,因此像 HELLOWORLD.JAVA 和 Helloworld.java 这样的文件名将导致编译错误。 您可以将 HelloWorld.java 保存在机器上任何适当的目录中。您需要转到这个目录来使用命令行工具,因此要确保该目录便于访问。
编译程序
现在就准备好可以编译 HelloWorld 程序了。SDK 附带的 Java 语言编译器是一个名为 javac.exe 的命令行应用程序。要编译一个 Java 源代码文件,您只需将 .java 文件的名称传递给 javac.exe 程序。要编译这个 HelloWorld 程序,请打开一个命令提示符窗口,将目录切换到您保存 HelloWorld.java 文件的位置。然后执行下面这个命令:
javac HelloWorld.java
像 Visual Basic .NET 或 C# 编译器一样,Java 编译器可能生成任意数目的错误。自然地,您需要纠正所有错误,Java 编译器才会成功地编译 HelloWorld 程序。成功的编译将生成一个名为 HelloWorld.class 的类文件。这个文件代表您将在 Java 解释器中运行的可执行文件。
运行程序
SDK 附带的 Java 语言解释器是一个名为 java.exe 的命令行应用程序。要运行一个 Java 字节代码可执行文件,您只需将该 java 程序的名称传递给 java 解释器。在使用 Java 解释器时不要指定 .class 扩展名。解释器仅接受类文件,因此添加 .class 扩展名将产生一个错误。要运行这个 HelloWorld 程序,请打开一个命令提示符窗口,将目录切换到您编译 HelloWorld.java 文件的位置。这个字节代码可执行文件 HelloWorld.class 应该就在该目录中。然后执行下面这个命令:
java HelloWorld
Java 解释器尝试执行 HelloWorld 程序的 main() 方法。Java 程序的 main() 方法等价于控制台应用程序使用的 Visual Basic .NET Sub Main() 或 C# Main() 方法。返回类型为 void 的 Java 方法等价于 Visual Basic .NET 中的 Sub 。具有其他返回类型的方法等价于 Visual Basic .NET 中的 Function 。
Java 解释器可能会报告运行时错误,这通常会终止程序执行。与在 Visual Basic .NET 和 C# 中一样,Java 运行时错误要比编译时错误更难于调试,不过没有编译时错误出现得那么频繁。像 .NET 程序一样,Java 程序在一个托管环境中执行,因此您可以宽限地处理运行时错误。
Java 语言与 Visual Basic .NET 之比较
现在让我们考察一下 Java 语言与 Visual Basic .NET 之间的区别。(如果您纯粹是个 C# 开发人员,可以跳到本文后面的 Java 语言与 C# 之比较小节。)
类型
Java 语言和 Visual Basic .NET 都是单继承的面向对象语言,它们具有一个作为其他所有类的基类的类:Visual Basic .NET 中的 System.Object 和 Java 语言中的 java.lang.Object 。这意味着对于您开发的类层次,两种语言是相似的。如果沿着层次树往上,您最终会到达对应的根类。
Java 语言使用了原始类型(primitive type)的概念,它们非常类似 C 和 C++ 中的对应概念。它们不是任何类层次的一部分,也不具有任何方法。此外,当使用它们作为参数时,它们总是按值传递。表 1 列出了 Java 语言中的原始类型和它们在 Visual Basic .NET 中的等价类型:
表 1 Java 语言中的原始类型和它们在 Visual Basic .NET 中的等价类型
Java 原始类型描述等价的 Visual Basic .NET 类型描述
int32 位有符号整数Integer32 位有符号整数
long64 位有符号整数long32 位有符号整数
short16 位有符号整数short16 位有符号整数
char16 位无符号整数Char16 位无符号整数
byte8 位无符号整数Byte8 位无符号整数
boolean有效值是 true或者 falseBoolean有效值为 true或者 false
float32 位浮点数Single32 位浮点数
double64 位浮点数Double64 位浮点数
¥399.00
¥498.00
¥29.00
¥299.00