Java 入門第一課:從「一次編譯,到處運行」到 HelloWorld 完整實踐
張孝祥老師 Java 基礎課程第一講筆記,涵盖 Java 核心特點、三大版本體系、JDK/JRE 區別、環境變量配置避坑、首個程序編寫與編譯運行全流程。
一、Java 核心特點:跨平台的秘密
C 語言:.c → 編譯 → .exe (Windows) / ELF (Linux) → 對應 OS 運行
Java: .java → javac → .class (字節碼) → JVM (各平台專用) → 運行
- 字節碼是中間語言,屏蔽了底層 OS/硬件差異。
- JVM 是 Java 跨平台的基石:不同 OS 提供對應 JVM 實現。
二、Java 三重內涵
- 編程語言:語法規則、關鍵字、特性。
- 開發工具:JDK 包含
javac 編譯器、調試工具、基礎類庫。
- 運行環境:JRE 包含 JVM、核心類庫、支撐文件;無編譯器。
三、版本體系
| 版本 | 全稱 | 定位 |
| Java SE | Standard Edition | 桌面應用、基礎 API、標準開發 |
| Java EE | Enterprise Edition | 企業級分布式、Web 服務、中間件 |
| Java ME | Micro Edition | 嵌入式、移動設備、資源受限環境 |
四、環境變量配置(重點避坑)
JAVA_HOME:指向 JDK 安裝根目錄(含 bin、lib、include)。
PATH:追加 %JAVA_HOME%\bin,使任意目錄可直接執行 java/javac。
CLASSPATH:設置為 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar。
- 關鍵:
. 代表當前目錄,必須保留,否則無法加載當前目錄下的類。
- 分號
; 分隔路徑,等號兩邊不能有空格。
- 系統變量修改需重啟命令行窗口生效;用戶變量需重啟電腦。
- 驗證:
java -version、javac -version 輸出版本信息即成功。
五、體驗 Java 編程全流程
1. 編寫源文件 Test.java
public class Test { // ① public 類名必須與文件名一致
public static void main(String[] args) { // ② 程序入口
System.out.println("Hello World!");
}
}
class Test1 { // ③ 同一文件可定義多個非 public 類
public static void main(String[] args) {
System.out.print("Hello World2!");
}
}
2. 編譯
javac Test.java
// 產生 Test.class 和 Test1.class 兩個字節碼文件
常見錯誤:找不到文件 → 檢查擴展名是否為 .java(資源管理器默認隱藏擴展名)。
3. 運行
java Test // 輸出 Hello World!
java Test1 // 輸出 Hello World2!
類加載器按 CLASSPATH 查找類文件。
六、JVM 運行三階段
- 類加載:ClassLoader 讀取 .class 文件進入方法區。
- 字節碼校驗:確保格式正確、無惡意代碼(安全性基石)。
- 執行:解釋器將字節碼翻譯為機器碼執行(或 JIT 編譯優化)。
七、新手必記口訣
- 一個源文件只能有一個 public 類,類名=文件名。
main 方法固定簽名:public static void main(String[] args)。
CLASSPATH 必須包含 .,否則當前目錄類找不到。
- 路徑中不要包含中文或空格,極易引發找不到文件錯誤。
這一講奠定了 Java 開發環境搭建與基本運行機制的認知基石,後續課程將展開面向對象、集合、多線程等核心語法。
- 上一篇文章: JVM 運行時數據區詳解:程序計數器、棧、堆、方法區、直接內存全景圖
- 下一篇文章: 自學 Java 總結筆記:從基礎語法到 J2EE 全棧知識體系
Copyright ©
程式碼之家 All Rights Reserved