Hello World程序,几乎是每一个编程语言入门的经典第一课。
Hello World程序
在记事本或者 Notepad++ 中编写如下Java代码:
public class Welcome {
public static void main(String []args) {
System.out.println("Hello World");
}
}
该程序在控制台上显示消息 “Hello World”。
控制台(console)是一个老的计算机词汇,指计机的文本输人和显示设备。控制台输入是指从键盘上接收输入,而控制台输出是指在显示器上显示输出。
第1行定义了一个类
每个Java程序至少应该有一个类,每个类都有一个名字。按照惯例,类名都是以大写字母开头的。本例中,类名(class name)为 Welcome。
对大多数计算机语言,包含程序源代码的文件名是任意的,但对于Java就不行。
这个例子中,源程序文件名应该是 Welcome.java
第2行定义main方法
Java是从类中的main方法开始执行的。
方法是包含语句的结构体。
第3行定义方法体
本程序中的方法体包括了 System.out.println
语句。
该语句在控制台上打印消息“Hello World”字符串。
字符串(String)是一个编程术语表示一个字符序列,一个字符串必须放入双引号中。
Java中的每条语句都以分号(;)结束,也称为语句结束符(statement terminator)。
关键宇( keyword)对编译器而言都是有特定含义的,所以不能在程序中用于其他目的。
例如,当编译器看到字class
时,它便知道class
后面的词就是这个类的名字。这个程序中的其他保留字还有public
、static
和void
等。
关于Java中所有的关键字及含义,可以参考 Java关键字
程序中的一对花括号将程序的一些组成部分组合起来,形成一个块
(block)。
在Java中,每个块以左花括号{
开始,以右花括号}
结束。
每个类都有一个将该类的数据和方法放在一起的类块
(class block)。
每个方法都有一个将该方法中的语句放在一起的方法块
(method block)。块是可以嵌套的,即一个块可以放到另一个块内。
运行Hello World
运行这段程序,可能需要如下步骤:
- ①在文本文件中输入上述代码
- ②保存文件名为
Welocme.java
- ③打开 cmd 命令窗口,进入目标文件所在的位置
- ④测试Java环境是否正常,输入
java -version
后回车 - ⑤输入
javac Welocme.java
后回车 - ⑥输入
java Welocme
后回车
Java程序的开发过程,就是重复地创建、修改源代码,然后编译和执行的过程。
D:\>java -version
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)
D:\>javac Welocme.java
D:\>java Welocme
Hello World
如果看到Hello World
,则整个程序完美运行。
当然,在顺利输出Hello World
前,可能会遇到各种奇奇怪怪的问题,在 Java程序设计错误 ,详细解释了这些错误。
命令解释
java -version
这句代码只是来测试Java在当前环境是否可用,它不是程序运行的组成部分。
javac Welcome.java
运行完这行命令,如果没有语法错误,编译器( compiler)就会生成一个扩展名为. class
的字节码文件(Welcome.class)。
Java语言是高级语言,而Java字节码是低级语言。字节码类似于机器指令,但它是体系结构中立的,可以在任何带Java虚拟机(JM)的平台上运行。
虚拟机不是物理机器,而是个解释JaVa字节码的程序。这正是Java的主要优点之一:Java字节码可以在不同的硬件平台和操作系统上运行,一次编写,到处运行
(Write once, run anywhere)。
Java源代码编译成Java字节码,然后Java字节码被JVM解释执行。
它们之间的关系可以用下图表示:
执行Java程序就是运行程序的字节码,可以在任何一个装有VM的平台上运行字节,JVM就是解释器。
它一次只将字节码中的一个指令翻译为目标机器语言代码,而不是整个程序作为一个单元。翻译完一步之后就立即执行这一步。
java Welcome
使用该命令来运行程序。