目录
Java 探险指南:第3节 第一个 Java 程序:Hello World
“千里之行,始于足下。” —— 老子
学习编程也是如此,从最简单的程序开始,逐步深入。今天,我们将一起编写第一个 Java 程序——Hello World
,并探索 Java 程序的基本结构、编译与运行过程,以及常见错误的调试方法。
学习目标
在本节中,你将学会:
- 理解 Java 程序的基本结构:类、方法和主函数。
- 编写并运行一个简单的
Hello World
程序。 - 使用
javac
和java
命令编译和运行 Java 程序。 - 识别并解决常见的编译和运行时错误。
1. Java 程序的基本结构
Java 程序的基本结构由类、方法和主函数组成。让我们通过一个表格来对比这些概念:
概念 | 描述 | 示例 |
---|---|---|
类 (Class) | Java 程序的基本构建块,用于封装数据和方法。每个 Java 程序至少包含一个类。 | public class HelloWorld { ... } |
方法 (Method) | 类中的函数,用于执行特定的任务。每个方法都有一个名称、返回类型和参数列表。 | public void printMessage() { ... } |
主函数 (Main Method) | Java 程序的入口点,程序从这里开始执行。主函数的签名必须是 public static void main(String[] args) 。 |
public static void main(String[] args) { ... } |
2. 编写 Hello World 程序
2.1 目录结构
在编写代码之前,我们先来看一下项目的目录结构:
HelloWorld/ # 项目根目录
├── src/ # 源代码目录
│ └── HelloWorld.java # Java 源文件
└── bin/ # 编译后的字节码目录(可选)
src/
:存放 Java 源代码文件。bin/
:存放编译后的.class
文件(可选,取决于你的开发环境配置)。
2.2 编写代码
在 src/HelloWorld.java
文件中编写以下代码:
// HelloWorld.java
public class HelloWorld {
// 定义一个名为 HelloWorld 的类
public static void main(String[] args) {
// 主函数,程序的入口点
System.out.println("Hello, World!"); // 打印输出 "Hello, World!"
}
}
代码解析
- 第1行:
public class HelloWorld
定义了一个公共类HelloWorld
,类名必须与文件名一致(区分大小写)。 - 第2行:
public static void main(String[] args)
是主函数的签名,程序从这里开始执行。 - 第3行:
System.out.println("Hello, World!");
用于在控制台输出一行文本。
3. 代码的编译与运行
编译过程内存映射
[源代码(.java)] → [词法分析] → [语法树] → [语义分析] → [字节码(.class)]
↑ │ │ │
└─错误反馈──┘ └─类型检查──┘
3.1 编译代码
在终端或命令行中,进入 src/
目录,通过 -encoding 参数来指定源文件使用的字符编码,确保编译过程的顺利,运行以下命令编译代码:
# 编译阶段:将源代码转化为字节码
javac -encoding UTF-8 HelloWorld.java
编译成功后,会生成一个 HelloWorld.class
文件,这是 Java 字节码文件。
3.2 运行程序
在终端中运行以下命令执行程序:
java HelloWorld
输出结果为:
Hello, World!
4. 常见错误与调试方法
4.1 常见错误
症状 | 可能原因 | 修复方案 | 工具支持 |
---|---|---|---|
找不到主类 | CLASSPATH 配置错误 | 检查包路径和类路径 | jenv 配置工具 |
方法签名错误 | main 方法参数缺失 | 严格遵循 public static void | IDE 语法检查 |
编码问题 |