3. 【Java】Hello, World!:第一行 Java 代码

摘要: 本文是 Java 零基础入门系列的第二篇,手把手教你从零开始编写并运行第一个 Java 程序 “Hello, World!”。内容涵盖在 IntelliJ IDEA 中创建项目、编写代码、编译运行的全过程,并对代码进行逐行深度解读,阐述 public classmain 方法、System.out.println 等核心概念的含义。此外,还介绍了 JDK 21 中更简洁的预览特性写法,帮助初学者在动手实践中快速建立对 Java 程序基本结构的认知。

关键词: Java 入门, Hello World, IntelliJ IDEA, JDK 21, main 方法


上一篇我们费了不少功夫,把 JDK 和 IDEA 都装好了。当时我说,这就像装修新房时通好了水电,现在我们终于可以搬进第一件家具了。

今天,我们要做的事是编程世界里最经典、最神圣、甚至带点仪式感的一步:写出并运行你的第一个 Java 程序:Hello, World!

别小看这一行简单的输出,它背后藏着一整套 Java 程序的结构逻辑。今天我们会逐字逐句地拆解它,保证你不仅知道“怎么敲”,更明白“为什么这么敲”。


1. 在 IDEA 中创建第一个项目

打开 IntelliJ IDEA,你会看到欢迎界面。点击 New Project(新建项目)。

接下来会弹出一个窗口,有几个选项需要你留意:

  • Name(项目名):我们取名为 HelloJava(你也可以叫别的,但尽量不用中文和空格)。
  • Location(项目存放位置):选择你电脑上一个方便找到的文件夹,比如 D:\JavaProjects~/IdeaProjects
  • Language(语言):选 Java,这是显然的。
  • Build system(构建工具):这里选 IntelliJ 就行了,我们暂时不用 Maven 这类高级工具(以后会用到)。
  • JDK:确保这里显示的是 JDK 21。如果下拉列表是空的,点击旁边的 “Add JDK” 手动选择你之前安装的 JDK 安装目录。

全部确认好后,点击 Create。稍等几秒钟,IDEA 会为你创建一个崭新的项目。

在项目左侧的目录结构中,你会看到 src 文件夹——它是 source(源代码)的缩写,我们以后所有的 .java 文件都会放在这里。


2. 创建第一个 Java 类

src 文件夹上点击右键 → New → Java Class

在弹出的对话框中输入 HelloWorld(注意:大小写要严格,HW 大写)。然后敲回车。

IDEA 会自动生成一个名叫 HelloWorld.java 的文件,并在编辑区打开它。目前里面是空的,或者只有一行 public class HelloWorld { }——这要看 IDEA 的模板设置。

接下来,手动输入下面的代码。我建议你不要复制粘贴,而是亲自敲一遍——每个字母都有意义,敲一遍能加深印象。

// 这是我们的第一个Java程序
// 文件名必须与类名一致:HelloWorld.java

public class HelloWorld {

    // main方法是程序的入口,JVM会从这里开始执行
    public static void main(String[] args) {
        // 这句话会在控制台打印出 Hello, World!
        System.out.println("Hello, World!");
    }
}

⚠️ 注意:所有符号都必须是英文半角。尤其注意括号 ()、花括号 {}、分号 ; 和双引号 " 都不能用中文的。


3. 编译与运行 —— 见证奇迹的时刻

在 IDEA 里,编译和运行被集成到一个按钮里了。你只需要点击编辑器右上角的绿色小三角形 ▶(Run),或者按快捷键 Shift + F10(Windows/Linux)或 Control + R(macOS)或 ⌘ + R(macOS,如果修改了 Keymap)。

点击之后,IDEA 会自动编译 HelloWorld.java,然后执行它。在窗口下方的 Run 面板中,你会看到一行输出:

Hello, World!

如果看到了这行字,恭喜你 —— 你的第一个 Java 程序跑起来了!请允许我由衷地为你高兴。

如果出现了红色报错信息,别慌,仔细检查代码有没有拼写错误、漏掉分号、括号不匹配等问题。编译器的报错信息虽然看上去密密麻麻,但其实它会告诉你错在哪一行、什么类型,多读几遍就能看明白。


4. 逐行解读 —— 这串神秘代码到底在说什么?

现在,让我们回到代码本身。即使你刚刚成功地运行了它,但如果看不懂每一行的含义,那跟抄答案没什么区别。我们来逐行拆解。

第 1~2 行:注释
// 这是我们的第一个Java程序
// 文件名必须与类名一致:HelloWorld.java

// 开头的文字是单行注释。注释是写给看的,编译器会完全忽略它们。注释的作用是解释代码的意图,帮助自己和他人理解。养成写注释的习惯,是优秀程序员的标志之一。

Java 还有多行注释 /* ... */ 和文档注释 /** ... */,我们以后会用到。

第 4 行:类声明
public class HelloWorld {
  • public 是一个访问修饰符,意思是“公开的”。它表示这个类可以被任何地方的代码访问。目前你只需要记住,我们的主类总是 public
  • class 是关键字,用来声明一个“类”。类是 Java 最基本的组织单位——所有 Java 代码都必须写在类里面
  • HelloWorld类名。它必须和文件名完全一致(包括大小写),这是 Java 的硬性规定。所以我们的文件名是 HelloWorld.java
  • 左花括号 { 标志着类的主体开始,它和后面的右花括号 } 配对,中间包裹着这个类的所有内容。
第 6 行:main 方法 —— 程序的“入口”
public static void main(String[] args) {

这是整个程序中最重要的一行。我们来拆解它的每一个单词:

  • public:和类一样,main 方法也是公开的,因为 JVM 需要从外部调用它。
  • static:这是一个静态修饰符,意思是这个方法属于类本身,而不属于某个具体的对象。这样 JVM 在还没有创建任何对象时就能调用它。关于静态,我们以后会深入讲,现在先记住:main 方法必须用 static
  • void:表示这个方法没有返回值。它执行完就结束了,不会向调用者返回任何数据(JVM 也不需要它返回什么)。
  • main:这是方法名,固定就叫 main。JVM 规定只能以这个名字作为程序入口。
  • (String[] args):这是方法的参数String[] 表示一个字符串数组,args 是参数名。这个数组用来接收从命令行传给程序的额外参数(比如 java HelloWorld arg1 arg2,那么 args[0] 就是 "arg1")。虽然我们暂时用不到,但必须写上。
  • 左花括号 { 表示方法体的开始。
第 8 行:输出语句
System.out.println("Hello, World!");
  • System 是 Java 系统自带的一个类,代表“系统”。
  • outSystem 类里面的一个静态字段,代表“标准输出流”——通俗点说就是控制台
  • printlnout 对象的一个方法,全称是 print line,意思是“打印一行”。
  • "Hello, World!" 是我们要输出的字符串,用双引号括起来。
  • 最后的分号 ; —— Java 中每一条语句的末尾都必须用分号结束,不要忘
第 9~10 行:关闭花括号
}
}   // 第 9 行结束 main 方法体,第 10 行结束类体

每个 { 都必须有对应的 },并且要成对匹配。在 IDEA 里,把光标放在花括号上,它会高亮显示匹配的另一半,非常方便。


5. 我们从这第一段代码中学到了什么?

别看只有短短几行,它已经涵盖了 Java 程序的骨架

  1. 所有代码都在类中class)。
  2. 程序的起点是 main 方法,签名必须完全正确。
  3. 语句用分号结束
  4. 花括号用来划分代码块

这个骨架,你在后面的每一篇文章里都会反复见到,直到它像你的名字一样熟悉。


6. JDK 21 的惊喜:更精简的 Hello World(预览特性)

如果你觉得上面的写法有点“啰嗦”(public static void main(String[] args) 确实挺长的),那 JDK 21 给你带了一个好消息:它引入了一个预览特性(Preview Feature),允许你写出更精简的 Hello World

预览特性意味着这个功能在 JDK 21 中已经可以使用,但细节在未来版本中可能还会调整,所以默认是关闭的。不过我们可以在 IDEA 中开启它。

新的写法是这样的:

// 这是JDK 21的预览特性:未命名类 + 实例main方法
// 需要在编译/运行时加上 --enable-preview 参数

void main() {
    System.out.println("Hello, World from JDK 21!");
}

看到了吗?不需要 public class XXX,不需要 public static void main(String[] args),只需要一个 void main() 就行了!是不是清爽很多?

这个特性由两部分组成:

  • 未命名类(Unnamed Classes):当你没有写 class 声明时,编译器会自动为你生成一个匿名类。
  • 实例 main 方法(Instance Main Methods)main 方法不再强制要求 static,可以作为一个实例方法存在。

不过,在 IDEA 中要跑通这段代码,你需要做一点设置:鼠标移到 main,点击 Set language level to 21 (Preview) ...

在这里插入图片描述

或者鼠标点击 菜单 File --> Project Structure, Language Level 下拉框里选择 21 (Preview) ... 点击OK后运行。

在这里插入图片描述

你会发现输出正常显示。

💡 我的建议:虽然这种新写法更简洁,但在初学阶段,我仍然推荐你使用传统的 public static void main(String[] args)。因为它更通用,能让你更好地理解 Java 的完整结构。等我们熟悉之后,再玩新特性也不迟。


7. 背后发生了什么?—— 从源码到运行的过程

当我们在 IDEA 里点击“运行”时,IDEA 在背后帮我们做了两件事:

  1. 编译:调用 javac HelloWorld.java,把源码编译成字节码文件 HelloWorld.class
  2. 运行:调用 java HelloWorld,启动 JVM,加载 HelloWorld.class,然后 JVM 找到 main 方法并执行。

你可以自己打开终端(命令行),进入 HelloWorld.java 所在的目录,手动执行这两条命令,看看效果是否和 IDEA 里一样。这样做能让你更清楚地感知编译和运行是两个独立的步骤。


今天的总结

今天我们跨过了真正意义上的第一道门槛:

  • 在 IDEA 中创建了 Java 项目
  • 编写了完整的 HelloWorld
  • 成功编译并运行了它
  • 逐词逐句地解读了每一行代码的含义
  • 简单了解了 JDK 21 的简化写法(预览特性)

你现在已经不是一个“只看不练”的旁观者了——你已经写出了属于自己的第一段 Java 代码,并且亲眼看着它运行出来。这个成就感,应该比看了十篇文章都来得实在。


动手试试

  1. 修改输出内容:把 "Hello, World!" 改成你自己的名字,比如 "Hello, 张三!",再运行一次。
  2. 添加第二行输出:在 println 下面再写一行 System.out.println("Welcome to Java!");,观察输出结果。
  3. 尝试犯个小错误:故意漏掉一个分号,看看 IDEA 会怎样提示你。然后改回来,感受一下编译器的“报错”其实是在帮你。

下篇文章,我们要往底层走一步,聊聊 JVM 的秘密 —— 为什么 Java 能跨平台?字节码到底是什么?敬请期待。

我们下一篇见。😃

📌 获取本系列示例代码请访问 GitCode

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值