Java 程式可視為一系列物件的集合,物件間透過呼叫彼此的方法協同運作。理解類別、物件、方法、實例變數四大核心概念是入門關鍵。
public class HelloWorld {
/* 第一個 Java 程式
* 將列印 Hello World 字串 */
public static void main(String[] args) {
System.out.println("Hello World"); // 列印 Hello World
}
}
HelloWorld.java(檔名必須與 public 類別名完全一致)javac HelloWorld.java — 產生 HelloWorld.class 位元碼檔java HelloWorld — JVM 載入類別並執行 main 方法Hello World關鍵提醒:環境變數 PATH 需正確設定 javac 與 java 指令路徑。
| 規則 | 說明 | 範例 |
|---|---|---|
| 大小寫敏感 | Hello 與 hello 是不同識別碼 | System ≠ system |
| 類別命名 | 首字母大寫,多單詞每字首大寫 | MyFirstJavaClass |
| 方法命名 | 首字母小寫,後續單詞首字母大寫 | calculateTotalAmount() |
| 檔案命名 | 必須與類別名相同,副檔名 .java | HelloWorld.java |
| 程式進入點 | 所有程式由 main 方法開始執行 | public static void main(String[] args) |
age、$salary、_value、__1_value123abc、-salarydefault(包內可見)、public、protected、privatefinal、abstract、strictfpstatic 修飾,類別層級共享class FreshJuice {
enum FreshJuiceSize { SMALL, MEDIUM, LARGE }
FreshJuiceSize size;
}
public class FreshJuiceTest {
public static void main(String[] args) {
FreshJuice juice = new FreshJuice();
juice.size = FreshJuice.FreshJuiceSize.MEDIUM;
}
}
列舉可獨立宣告或定義在類別內,甚至包含方法、建構子。
以下關鍵字不可作為變數、常數、類別、方法名稱:
| 關鍵字 | 用途 | 關鍵字 | 用途 |
|---|---|---|---|
| abstract | 抽象類別/方法 | continue | 跳過本次迴圈 |
| assert | 斷言 | default | switch 預設分支 |
| boolean | 布林類型 | do | do-while 迴圈 |
| break | 跳出迴圈/switch | double | 雙精度浮點數 |
| byte | 8位元整數 | else | if 條件不成立分支 |
| case | switch 條件 | enum | 列舉類型 |
| catch | 捕捉例外 | extends | 類別繼承 |
| char | 16位元字元 | final | 常數/不可覆寫/不可繼承 |
| class | 定義類別 | finally | 例外處理必執行區塊 |
| const | 保留字(未使用) | float | 單精度浮點數 |
| for | for 迴圈 | goto | 保留字(未使用) |
| if | 條件判斷 | implements | 實作介面 |
| import | 匯入類別/套件 | instanceof | 型別檢查 |
| int | 32位元整數 | interface | 定義介面 |
| long | 64位元整數 | native | 原生方法 |
| new | 建立物件實例 | package | 套件宣告 |
| private | 私有存取 | protected | 受保護存取 |
| public | 公開存取 | return | 方法回傳 |
| short | 16位元整數 | static | 靜態/類別層級 |
| strictfp | 嚴格浮點運算 | super | 父類別參考 |
| switch | 多條件選擇 | synchronized | 執行緒同步 |
| this | 當前實例參考 | throw | 拋出例外 |
| throws | 宣告拋出例外 | transient | 不序列化欄位 |
| try | 例外處理區塊 | void | 無回傳值 |
| volatile | 易失性變數 | while | while 迴圈 |
// 註解內容/* 註解內容 *//** 文件註解 */(可由 javadoc 生成 API 文件)extendsimplements,支援多重實作.java 原始檔 → javac 編譯器 → .class 位元碼檔 → JVM 解譯執行 / JIT 編譯為機器碼 → 執行結果。這種「編譯一次、到處執行」特性源於位元碼的平台中立性。
掌握基礎語法後,下一節將深入探討 Java 開發環境配置與主流 IDE 選擇指南。