雖然實務開發皆用 IDE (IntelliJ IDEA、Eclipse、VS Code),但理解 `javac`/`java` 命令列操作是建立扎實 Java 基礎的關鍵。本文以 Windows 為例,完整演示:目錄規劃、源碼撰寫、編譯、執行、類結構、主方法、輸出語句解析。
JAVA_HOME、Path 包含 %JAVA_HOME%\bin。java -version、javac -version 輸出版本資訊。E:\project\how2java\src\HelloWorld.java ← 源碼 E:\project\how2java\bin\ ← 編譯輸出 (可選,用 -d 指定)
// HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("hello world");
}
}
命名規範:類名 PascalCase、檔名與類名完全一致 (含大小寫)、一檔一 public 類。
E: cd E:\project\how2java\src javac HelloWorld.java
HelloWorld.class (位元組碼)。-d bin 指定輸出目錄、-encoding UTF-8 指定源碼編碼。java HelloWorld
.class 副檔名)。hello world。public class HelloWorld { // public: 可被任意類存取
// 類體
}
public 類只能有一個,檔名必須同名。public static void main(String[] args) {
// 程式進入點
}
| 修飾符/關鍵字 | 含義 | |
|---|---|---|
| public | JVM 能從外部呼叫 | |
| static | 無需建立實例即可呼叫 (類方法) | |
| void | 無回傳值 | |
| main | 固定名稱,JVM 搜尋的進入點 | |
| String[] args | 命令列參數陣列 |
| 錯誤現象 | 原因 | 解決 |
|---|---|---|
| javac: file not found | 路徑/檔名錯誤 | cd 到 src 目錄、確認副檔名 .java |
| class HelloWorld is public, should be declared in a file named HelloWorld.java | 檔名與類名不符 | 重新命名檔案完全一致 (含大小寫) |
| Error: Main method not found in class HelloWorld | 主方法簽名錯誤 | 檢查 public static void main(String[] args) |
| Error: Could not find or load main class HelloWorld | 執行時類路徑錯誤 | cd 到 .class 所在目錄、輸入類名非檔名 |