Java 入门教程:Hello World 完整指南(IDE + 命令行 + 原理详解)

一、概述

"Hello World" 是学习任何编程语言的传统起步程序。在 Java 中,这个简单的程序背后涉及几个重要概念:

  • Java 程序必须写在(Class)中
  • 程序从 main 方法开始执行
  • 源代码(.java)需要先编译为字节码(.class),再由 JVM 运行

本教程提供两种开发方式:IDE(IntelliJ IDEA)和命令行,你可以根据自己的情况选择。建议至少尝试一次命令行方式,以理解编译运行的底层流程。

二、环境准备:安装 JDK

2.1 JDK 是什么

JDK(Java Development Kit,Java 开发工具包)是 Java 开发的基础环境,包含编译器 javac、运行时 java 以及各类开发工具。

与之对比,JRE(Java Runtime Environment)只包含运行时,不包含编译器。学习 Java 开发必须安装 JDK。

对比项 JDK JRE
编译器 javac
运行时 java
调试工具
适用场景 开发 + 运行 仅运行

2.2 下载与安装

前往 Oracle 官方下载页 下载对应操作系统的 JDK 安装包。推荐下载 JDK 17 或 JDK 21(LTS 版本)。

macOS 用户也可通过 Homebrew 安装:

brew install openjdk@17

2.3 验证安装

打开终端或命令提示符,输入以下命令:

java -version
javac -version

如果两个命令都能输出版本号,说明安装成功。如果 javac 报找不到命令,说明需要将 JDK 的 bin 目录添加到系统 PATH 环境变量中(详见第七节错误排查)。

三、方式一:使用 IntelliJ IDEA

IntelliJ IDEA 是目前最主流的 Java IDE,Community Edition(社区版)免费且功能完备。

3.1 下载安装

前往 JetBrains 官网 下载 Community Edition 并安装。

3.2 创建项目

  1. 启动 IntelliJ IDEA,在欢迎界面点击 New Project
  2. 左侧选择 Java
  3. Name:输入 HelloWorldApp
  4. JDK:从下拉菜单选择已安装的 JDK(如果未显示,点击 Add JDK... 浏览到安装目录)
  5. 勾选 Add sample code
  6. 点击 Create

3.3 编写代码

项目创建后,编辑器中会打开 Main.java。将内容修改为:

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello World!"); // 输出: Hello World!
    }
}

Ctrl+S(Windows/Linux)或 Cmd+S(macOS)保存。

3.4 编译与运行

  • 编译:菜单 BuildBuild Project(快捷键 Ctrl+F9
  • 运行:菜单 RunRun 'Main'(快捷键 Shift+F10),或点击 main 方法左侧的绿色 ▶ 按钮

底部 Run 窗口将显示:

Hello World!

3.5 IDE 实用技巧

操作 方法
快速输入 System.out.println() 输入 sout + Tab
新建 Java 类 右键 src → New → Java Class
运行指定文件 右键含 main 方法的文件 → Run
自动修复错误 光标定位到错误处 → Alt+Enter
重命名 选中名称 → 右键 → Refactor → Rename

四、方式二:Windows 命令行

4.1 创建源文件

  1. 打开记事本(开始菜单搜索"记事本")
  2. 输入以下代码:
/**
 * HelloWorldApp 类
 * 向标准输出打印 "Hello World!" 消息
 */
class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); // 输出: Hello World!
    }
}
  1. 选择 文件另存为
  2. 保存位置:C:\myapplication
  3. 文件名:"HelloWorldApp.java"(注意两侧加英文双引号,防止记事本自动追加 .txt
  4. 编码选择 UTF-8
  5. 点击保存

4.2 编译

打开命令提示符(按 Win+R,输入 cmd,回车),切换到源文件目录:

cd C:\myapplication

编译:

javac HelloWorldApp.java

编译成功不会有任何输出。输入 dir 可以看到新生成的 HelloWorldApp.class 文件。

4.3 运行

java -cp . HelloWorldApp

输出:

Hello World!

注意事项

  • -cp . 表示类路径为当前目录,确保 JVM 能找到 .class 文件
  • 参数是类名 HelloWorldApp,不是文件名 HelloWorldApp.class
  • 如果源文件在 D 盘,需要先切换到 D 盘:先输入 D: 回车,再 cd 到目标目录

五、方式三:Linux / macOS 命令行

5.1 创建源文件

打开终端,创建工作目录并进入:

mkdir -p ~/java-examples
cd ~/java-examples

使用编辑器创建源文件(以 vim 为例,也可用 nano 或任何编辑器):

vim HelloWorldApp.java

输入与上述相同的代码,保存退出(vim 中按 Esc,输入 :wq 回车)。

5.2 编译

javac HelloWorldApp.java

编译成功后 ls 可以看到 HelloWorldApp.class

5.3 运行

java HelloWorldApp

输出:

Hello World!

注意:macOS 和 Linux 上通常不需要 -cp .(默认包含当前目录),但如果遇到找不到类的错误,加上 -cp . 即可。

六、代码结构深入解析

6.1 整体结构

class HelloWorldApp {                          // ← 类定义
    public static void main(String[] args) {   // ← main 方法(入口)
        System.out.println("Hello World!");    // ← 执行语句
    }
}

一个最简单的 Java 程序包含三层结构:类定义 → main 方法 → 执行语句。

6.2 类定义

class HelloWorldApp {
    // ...
}
  • class 是关键字,表示接下来要定义一个类
  • HelloWorldApp 是类名,遵循大驼峰命名法
  • 花括号 {} 界定类的范围
  • Java 要求:所有代码都必须写在类中

如果类声明为 public class,则文件名必须与类名一致。例如 public class HelloWorldApp 对应 HelloWorldApp.java。大小写必须完全一致 —— HelloWorldApphelloworldapp 是两个不同的标识符。

6.3 main 方法

public static void main(String[] args)

这是 JVM 规定的程序入口,签名不可更改。逐个关键字解析:

关键字 含义
public 公共访问权限,JVM 从外部调用此方法
static 静态方法,不需要创建对象即可调用
void 不返回任何值
main 方法名,JVM 固定查找此名称
String[] args 字符串数组,接收命令行参数

String[] args 也可以写成 String args[](C 风格),两者等价,但前者更符合 Java 风格。

命令行参数示例:

java HelloWorldApp Alice Bob
# args[0] = "Alice"
# args[1] = "Bob"
# args.length = 2

6.4 输出语句

System.out.println("Hello World!");
  • Systemjava.lang 包中的类
  • outSystem 的静态字段,类型为 PrintStream,代表标准输出流
  • println:打印一行文本并换行

与之对比,print 方法打印后不换行,printf 支持格式化输出:

System.out.print("Hello ");     // 不换行
System.out.println("World!");   // 换行 → 最终输出: Hello World!
System.out.printf("数字: %d%n", 42); // 格式化 → 输出: 数字: 42

6.5 注释

Java 支持三种注释形式:

形式 语法 用途
单行注释 // 文本 行内简要说明
多行注释 /* 文本 */ 注释多行内容
文档注释 /** 文本 */ javadoc 生成 API 文档

注释会被编译器完全忽略,不影响程序运行。文档注释(/** */)放在类、方法、字段声明前面,javadoc 工具会提取它们生成 HTML 格式的 API 文档。

6.6 编译运行流程

HelloWorldApp.java  ──javac──→  HelloWorldApp.class  ──java──→  控制台输出
     源代码                         字节码                      程序结果
   (人类可读)                   (JVM 可读)

.java 文件是你写的源代码,.class 文件是编译器翻译后的字节码。字节码是平台无关的 —— 同一个 .class 文件可以在 Windows、Linux、macOS 上运行,只要有对应平台的 JVM。

JDK 11+ 简化运行:可以直接 java HelloWorldApp.java,JVM 自动编译并执行,不生成 .class 文件。仅限单文件程序。

七、常见错误排查

7.1 编译阶段错误

(1)'javac' is not recognized / javac: command not found

系统找不到编译器。需要将 JDK 的 bin 目录添加到 PATH 环境变量。

Windows:

  1. 右键"此电脑" → 属性 → 高级系统设置 → 环境变量
  2. 在系统变量中编辑 Path,添加 JDK 的 bin 路径(如 C:\Program Files\Java\jdk-17\bin
  3. 重新打开命令提示符

Linux/macOS:

export PATH=$PATH:/path/to/jdk/bin
# 写入 ~/.bashrc 或 ~/.zshrc 使其永久生效

(2)Class names are only accepted if annotation processing is explicitly requested

编译命令漏了 .java 后缀。应该写 javac HelloWorldApp.java,不是 javac HelloWorldApp

(3)语法错误(如 ';' expected

编译器会报告错误类型和行号,按提示修改即可。常见的语法错误包括:缺少分号、括号不匹配、拼写错误等。

一个错误可能引发多条报错信息。建议先修复第一个错误,重新编译,后续错误可能会自动消失。

7.2 运行阶段错误

(1)NoClassDefFoundError: HelloWorldApp

JVM 找不到 .class 文件。确保当前目录是 .class 文件所在目录,并使用 -cp . 指定类路径:

java -cp . HelloWorldApp

(2)Could not find or load main class HelloWorldApp.class

运行命令中误加了 .class 后缀。正确写法是 java HelloWorldApp(参数是类名不是文件名)。

(3)NoSuchMethodError: main

main 方法签名不正确。必须严格按照 public static void main(String[] args) 书写,不能少写 publicstatic 或改变参数类型。

7.3 编译错误 vs 运行时错误

对比项 编译错误 运行时错误
发生时机 javac 编译时 java 运行时
是否生成 .class 不会 已经生成
典型表现 语法错误、类型错误 找不到类、找不到方法
修复方式 修改源代码后重新编译 检查类路径、运行命令

八、小结

通过本教程,你已经掌握了:

  1. JDK 安装与配置 —— 区分 JDK 和 JRE,正确配置环境变量
  2. IDE 方式开发 —— 使用 IntelliJ IDEA 创建项目、编写代码、一键运行
  3. 命令行方式开发 —— 在 Windows、Linux、macOS 上手动编译运行
  4. 代码结构 —— 类定义、main 方法、输出语句、注释
  5. 编译运行链路 —— .javajavac.classjava
  6. 错误排查 —— 编译错误和运行时错误的常见原因与解决方案

建议动手操作一遍命令行方式,再用 IDE 方式体验效率提升。两种方式都走通之后,你对 Java 的编译运行机制就会有扎实的理解。


关注公众号「IT探险家」,回复 HelloWorld 获取完整演示代码和速查手册。

posted @ 2026-03-04 23:32  IT探险家  阅读(0)  评论(0)    收藏  举报