Java Hello World 入门教程:从 JDK 安装到编译运行第一个程序
Java Hello World:零基础编写、编译、运行第一个程序
准备好开启 Java 之旅了吗?本教程手把手带你完成 JDK 安装验证、源码编写、编译执行、常见报错排查,并推荐进阶学习路径。
准备工作
- JDK (Java Development Kit):包含编译器
javac、运行时java、工具链。官网下载 (推荐 LTS 版本 17/21) 或使用 Eclipse Temurin、Azul Zulu 等免费 OpenJDK 发行版。详细安装参考 JDK 安装指南。 - 文本编辑器:初学推荐 VS Code (安装 Extension Pack for Java) 或 Notepad++;进阶可用 IntelliJ IDEA Community、Eclipse。本教程演示用系统自带记事本,零依赖。
视频教程 (可选)
视频无法加载?点击此处查看备用版本
分步实操:编写、编译、运行
步骤 1:打开记事本
开始菜单 → Windows 附件 → 记事本
步骤 2:编写源代码
复制以下代码到记事本:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
步骤 3:保存文件 (关键:文件名必须与 public 类名一致)
- 文件 → 另存为
- 保存位置:
C:\workspace(或任意目录) - 文件名:HelloWorld.java (严格区分大小写,必须与
public class HelloWorld一致) - 保存类型:所有文件 (防止自动加 .txt 后缀)
- 编码:UTF-8
步骤 4:打开命令行并进入工作目录
Win+R → cmd → 回车
cd C:\workspace
步骤 5:编译源文件
javac HelloWorld.java
成功时无任何输出,目录下生成 HelloWorld.class 字节码文件。
步骤 6:运行程序
java HelloWorld
注意:运行时写类名 (不含 .class 后缀),区分大小写。
预期输出
Hello, World!
核心知识点拆解
| 元素 | 说明 |
|---|---|
public class HelloWorld | 公共类,文件名必须同名,一个文件仅能有一个 public 类 |
public static void main(String[] args) | 程序入口:public 供 JVM 调用、static 无需实例化、void 无返回、String[] args 接收命令行参数 |
System.out.println() | 标准输出流打印并换行,System.out 为 PrintStream 实例 |
javac | 编译器,将 .java → .class 字节码 |
java | 启动器,加载类、初始化 JVM、调用 main 方法 |
常见报错与解决
| 错误信息 | 原因 | 解决 |
|---|---|---|
error: class HelloWorld is public, should be declared in a file named HelloWorld.java | 文件名与 public 类名不一致 | 重命名文件为 HelloWorld.java |
Error: Could not find or load main class HelloWorld | 类名拼写错误/未编译/包名不匹配/当前目录不在 classpath | 确认 HelloWorld.class 存在;用 java -cp . HelloWorld 指定类路径 |
javac: command not found / 'javac' 不是内部命令 | JDK 未安装或 Path 未配置 %JAVA_HOME%\bin | 重装 JDK、配置环境变量、重开终端 |
error: unmappable character for encoding GBK | 源文件 UTF-8 但编译器默认 GBK (中文 Windows) | javac -encoding UTF-8 HelloWorld.java 或 文件保存为 GBK |
Unsupported class file major version XX | 用低版本 java 运行高版本 javac 编译的 class | 统一 JDK 版本,或 javac --release 17 指定目标版本 |
Java 大小写敏感性演示
// 以下均为不同标识符
HelloWorld
helloworld
HELLOWorld
helloWorld // 驼峰命名规范
铁律:Java 严格区分大小写,类名 PascalCase、方法/变量 camelCase、常量 UPPER_SNAKE_CASE。
进阶:带包名的项目结构
C:\workspace
└── com
└── example
└── helloworld
├── HelloWorld.java
└── HelloWorld.class (编译后)
编译运行:
cd C:\workspace
javac com/example/helloworld/HelloWorld.java
java com.example.helloworld.HelloWorld
下一步学习路线图
- 变量、数据类型、运算符 — 数据处理基础
- 流程控制:if/else、switch、for/while/do-while
- 面向对象核心:类/对象、封装/继承/多态、接口/抽象类、Record
- 集合框架:List/Set/Map、Stream API、并发集合
- 异常处理:try-catch-finally、try-with-resources、自定义异常
- I/O 与 NIO.2:文件、网络、序列化、内存映射
- 并发编程:线程池、CompletableFuture、虚拟线程 (Java 21+)、锁、原子类
- 模块化 (JPMS):module-info.java、模块图、强封装
- 构建工具:Maven/Gradle 依赖管理、多模块、CI/CD
- 主流框架:Spring Boot、Spring Cloud、Quarkus、Micronaut
推荐学习资源
- 官方教程:The Java Tutorials
- 规范权威:Java Language & JVM Specification
- 实战进阶:《Effective Java 第 3 版》《Java 核心技术 卷 I/II》《深入理解 JVM》
- 练手平台:LeetCode (Java)、Codeforces、Luogu、AtCoder
- 社区:Stack Overflow (java 标签)、Reddit r/java、掘金、InfoQ
java
- C# Hello World — 构建你的第一个C#应用程序
- C++ Hello World 入门教程:环境搭建、代码详解与运行指南
- C# Hello World:构建你的第一个控制台应用程序
- C 语言 Hello World 详解:从零编写第一个程序
- 你的第一个 VHDL 程序:分步 Hello World 教程
- Java Hello World:你的第一个程序
- Java String length() 方法:获取字符串长度(示例)
- Java String.charAt() 详解:语法、返回类型、异常与实战示例
- 精通 Java String.endsWith():检查字符串后缀(示例)
- Java BufferedReader 读取文件:实战指南与示例
- Java 插入排序算法详解:核心原理、完整代码与步骤演示
- Java 选择排序详解:核心原理、完整代码与步骤演示