核心代码
这是最经典、最基础的 Java "Hello, World!" 程序。
// HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
// 打印 "Hello, World!" 到控制台
System.out.println("Hello, World!");
}
}
代码逐行解释
让我们来分解这短短的几行代码,理解每一部分的作用:
// 1. 文件名和类名
public class HelloWorld {
// ...
}
public class HelloWorld: 这行代码定义了一个名为HelloWorld的公共类。- 在 Java 中,所有代码都必须存在于一个类中。
- 类名
HelloWorld必须与文件名HelloWorld.java完全一致(包括大小写)。 public关键字表示这个类可以被任何其他类访问。
// 2. 程序的入口点
public static void main(String[] args) {
// ...
}
- 这是 Java 程序的主方法,也是程序的入口点,当你运行 Java 程序时,JVM (Java Virtual Machine) 会首先寻找并执行这个方法。
public: 表示这个方法可以被任何地方调用。static: 表示这个方法属于类HelloWorld本身,而不是属于这个类的某个具体对象,我们可以在不创建HelloWorld对象的情况下直接运行它。void: 表示这个方法在执行完毕后不返回任何值。main: 这是方法名,是 JVM 规定的固定名称。String[] args: 这是方法的参数,它是一个字符串数组,你可以通过它接收在命令行中传入程序的参数,但在我们的简单示例中,它暂时没有用到。
// 3. 打印输出
System.out.println("Hello, World!");
- 这行代码是真正执行“打印”操作的核心。
System: 是 Java 核心库中的一个类,代表系统。out: 是System类的一个静态字段,代表标准输出流(通常是你的控制台或终端)。println(): 是out对象的一个方法,用于打印内容。print的意思是“打印”。ln的意思是“line”(换行),表示打印完内容后,光标会移动到下一行。
// 4. 单行注释 // 这是一个单行注释,JVM 会忽略它,用于解释代码。
如何编译和运行
要运行这个 Java 程序,你需要两个步骤:编译 和 运行,你需要先安装好 JDK (Java Development Kit)。
步骤 1: 保存文件
将上面的代码复制并粘贴到一个文本编辑器中(如 VS Code, IntelliJ IDEA, Sublime Text, 或者记事本),然后将其保存为 HelloWorld.java。请确保文件名和类名完全一致。
步骤 2: 打开终端或命令提示符
- Windows: 打开 "命令提示符" (CMD) 或 "PowerShell"。
- macOS / Linux: 打开 "终端" (Terminal)。
步骤 3: 编译代码
使用 javac (Java Compiler) 命令来编译 .java 源文件,这个命令会生成一个或多个 .class 字节码文件。
# 首先进入到你保存 HelloWorld.java 文件的目录 # 如果你的文件在 D:\JavaProjects 目录下,你需要先进入该目录 cd D:\JavaProjects # 然后执行编译命令 javac HelloWorld.java
如果编译成功,你会在同一个目录下看到一个名为 HelloWorld.class 的新文件,这就是 Java 虚拟机能理解的字节码。
步骤 4: 运行程序
使用 java 命令来运行编译好的字节码文件,注意,这里不需要加上 .class 后缀。
# 运行程序 java HelloWorld
你应该会在控制台看到如下输出:
Hello, World!
恭喜! 你已经成功编写并运行了你的第一个 Java 程序!
常见变体
使用 print() 而不是 println()
System.out.print() 会在打印完内容后不换行,这在需要连续输出时很有用。
public class HelloWorldPrint {
public static void main(String[] args) {
System.out.print("Hello, ");
System.out.print("World!");
System.out.println(); // 单独调用 println 来换行
}
}
// 输出: Hello, World!
使用 printf() 进行格式化输出
System.out.printf() 允许你使用格式化字符串,非常灵活,类似于 C 语言中的 printf。
public class HelloWorldPrintf {
public static void main(String[] args) {
String name = "Alice";
int age = 30;
// %s 是字符串的占位符, %d 是整数的占位符
System.out.printf("Hello, my name is %s and I am %d years old.%n", name, age);
}
}
// 输出: Hello, my name is Alice and I am 30 years old.
%n是一个平台无关的换行符,推荐使用它来代替\n。
使用现代 Java (版本 15+)
从 Java 15 开始,Java 引入了文本块,可以更方便地处理多行字符串,虽然 "Hello, World!" 是单行的,但了解一下这个新特性很有帮助。
public class HelloWorldTextBlock {
public static void main(String[] args) {
String message = """
Hello,
World!
""";
System.out.println(message);
}
}
// 输出:
// Hello,
// World!
// (注意最后会多一个空行)
对于 "Hello, World!" 本身,文本块并没有优势,但它极大地简化了 SQL、JSON 等多行字符串的编写。
希望这个详细的指南能帮助你理解 Java 的 "Hello, World!" 程序!
