Java教程是为JDK 8编写的。本页面中描述的示例和实践未利用后续版本中引入的改进,并可能使用不再可用的技术。
请参阅Java语言更改以了解Java SE 9及其后续版本中更新的语言功能的摘要。
请参阅JDK发行说明以了解有关所有JDK版本的新功能、增强功能以及已删除或已弃用选项的信息。
现在您已经看到了“Hello World!”应用程序(甚至可能已经编译并运行它),您可能想知道它是如何工作的。以下是它的代码:
class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); // 显示字符串。 } }
“Hello World!”应用程序由三个主要组件组成:源代码注释,HelloWorldApp类定义和main方法。以下解释将为您提供对代码的基本理解,但更深层次的含义只有在您完成阅读本教程的其余部分后才会显现。
以下粗体文本定义了“Hello World!”应用程序的注释:
/** * HelloWorldApp类实现了一个简单地将“Hello World!”打印到标准输出的应用程序。 */ class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); // 显示字符串。 } }
注释被编译器忽略,但对其他程序员很有用。Java编程语言支持三种注释类型:
/* 文本 */
/*
到*/
之间的所有内容。
/** 文档 */
/*
和*/
的注释一样忽略这种类型的注释。在准备自动生成文档时,javadoc
工具使用文档注释。有关javadoc
的更多信息,请参阅Javadoc™工具文档。
// 文本
//
到行尾的所有内容。
以下粗体文本开始了“Hello World!”应用程序的类定义块:
/** * HelloWorldApp类实现了一个简单地在标准输出上显示“Hello World!”的应用程序。 */ class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); // 显示字符串。 } }
如上所示,类定义的最基本形式为:
class 名称 { . . . }
关键字 class
开始了名为 name
的类的定义,类的代码出现在上面加粗的大括号之间。第2章概述了类的基本知识,第4章详细讨论了类。目前只需要知道每个应用程序都以类定义开始即可。
main
方法/** * HelloWorldApp 类实现了一个简单地将 "Hello World!" 显示到标准输出的应用程序。 */ class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); //显示字符串。 } }
在Java编程语言中,每个应用程序必须包含一个签名为:
public static void main(String[] args)
的 main
方法。
修饰符 public
和 static
的顺序可以任意(public static
或 static public
),但习惯上使用如上所示的 public static
。你可以为参数取任何名字,但大多数程序员选择 "args" 或 "argv"。
main
方法类似于 C 和 C++ 中的 main
函数,它是应用程序的入口点,随后将调用程序所需的所有其他方法。
main
方法接受一个参数:一个元素类型为 String
的数组。
public static void main(String[] args)
这个数组是运行时系统通过它向应用程序传递信息的机制。例如:
java MyApp arg1 arg2
数组中的每个字符串被称为 命令行参数。命令行参数允许用户在不重新编译程序的情况下影响应用程序的操作。例如,一个排序程序可以允许用户使用以下命令行参数指定以降序排序数据:
-descending
"Hello World!" 应用程序忽略了它的命令行参数,但你应该意识到这样的参数是存在的。
最后,这行代码:
System.out.println("Hello World!");
使用核心库中的 System
类将 "Hello World!" 消息打印到标准输出。这个库的部分内容(也称为 "应用程序编程接口" 或 "API")将在本教程的后续部分中讨论。