Java核心技术速学版(第3版)
上QQ阅读APP看书,第一时间看更新

1.1.1 剖析“Hello, World”程序

话不多说,下面就是Java中的“Hello, world”程序。

package ch01.sec01;
 
// Our first Java program 
 
public class HelloWorld {
     public static void main(String[] args) {
          System.out.println("Hello, World!");
     }
}

让我们一起来看看这个程序。

Java是一种面向对象的语言。在程序中,通常需要控制对象(object)来让它们完成具体工作。操作的每个对象都属于特定的(class),通常也称这个对象是该类的一个实例(instance)。类定义了对象的状态是什么,以及对象能做什么。在Java中,所有代码都是在类中定义的。第2章将详细介绍对象和类。这个程序是由一个名为HelloWorld的单一类组成的。

main是一个方法(method),也就是在类中声明的一个函数。main方法是程序运行时调用的第一个方法。main方法声明为static,以表示该方法不作用于任何对象。(当调用main方法时,只有少数的预定义对象,并且它们都不是HelloWorld类的实例。)main方法也声明为void,以表示它不返回任何值。关于main方法中参数声明String[ ] args的含义,参见1.8.8小节。

在Java中,你可以将许多特性声明为public或private。除此之外,Java中还有一些其他可见性级别。这里将HelloWorld类和main方法都声明为public,这是类和方法中最常见的定义形式。

包(package是一组相关类的集合。把相关类放在一个包中是一个很好的做法,这样可以将相关类组合在一起,并避免多个类在具有相同名称时可能会发生的冲突。本书使用章(Chapter)和节(Section)的编号作为包名。因此,示例中类的全名就是ch01.sec01.Helloworld。第2章会有更多关于包和包命名规范的内容。

以 // 开头的行是注释。编译器会忽略从 // 到行末的所有字符,这些字符仅仅用来辅助编程人员阅读程序。

最后,来看看main方法的主体。在示例中,它由一行命令组成,该命令的功能是向System.out输出一个消息,System.out对象代表Java程序的“标准输出”。

正如你所见,Java不是一种可以用来快速执行一些简单命令的脚本语言。它的类、包和模块(模块在第15章中介绍)等特性使得它更适合用于编写大型程序。

Java也非常简单和统一。一些编程语言不仅有全局变量和全局函数,还有类内部的变量和方法。在Java中,所有东西都在类中声明,这种统一性可能会导致代码有些冗长,但也使得理解程序的含义变得容易。

注意:你刚刚看到了一个 // 形式的注释,它的注释效果是延伸到行末的。还可以在 /* 和 */ 分隔符之间添加多行注释。例如:

/*
    This is the first sample program in Core Java for the Impatient.
    The program displays the traditional greeting "Hello, World!".
*/

还有第三种注释样式,称为文档注释(documentation comment),使用/** 和 */作为分隔符。下一章中将会介绍。