Java 原始碼由五類基本元素組成,各司其職,共同構成完整語法結構。
類別、方法、變數、套件等命名符號。
_、美元符號 $。_、$、Unicode 字元(\u00C0 以上)。true、false、null。| 合法 | 非法 | 原因 |
|---|---|---|
myVar | my-Var | 含連字號 |
_count | 123abc | 數字開頭 |
$amount | class | 關鍵字 |
用戶名 | user@name | 含特殊符號 |
Java 保留字,具有特定語法意義,不可作識別字。
| 類別 | 關鍵字 |
|---|---|
| 存取控制 | public protected private |
| 類別/介面/枚舉 | class interface enum abstract implements extends |
| 基本型別 | byte short int long float double char boolean void |
| 流程控制 | if else switch case default break continue return do while for |
| 例外處理 | try catch finally throw throws |
| 修飾詞 | static final synchronized volatile transient native strictfp |
| 套件/匯入 | package import |
| 其他 | this super new instanceof const goto(保留未用) |
注意:const、goto 保留無功能;strictfp 強制浮點運算精度一致。
原始碼中直接書寫的固定值。
| 型別 | 常值範例 | 說明 |
|---|---|---|
| 整數 | 123, -456, 0xFF (十六進位), 0177 (八進位), 0b1010 (二進位, Java 7+) | L 後綴表 long |
| 浮點 | 3.14, .5, 1.2E-3, 0x1.8p2 (十六進位浮點, Java 7+) | F/f 表 float,D/d 表 double |
| 布林 | true, false | 關鍵字 |
| 字元 | 'a', '\n', '\u0041' | 單引號,16 位元 Unicode |
| 字串 | "Hello", "\n\t" | 雙引號,String 物件 |
| 空值 | null | 參考型別無物件 |
執行運算的符號,已於「運算子完整指南」詳細說明。核心分類:
+ - * / % ++ --== != < > <= >= instanceof&& || !& | ^ ~ << >> >>>= += -= *= /= %= &= ^= |= <<= >>= >>>=?:. [] () :: ->(方法參考、Lambda、陣列/成員存取)界定程式結構邊界的標點符號:
| 符號 | 名稱 | 用途 |
|---|---|---|
{ } | 大括號 | 類別/方法/區塊範圍 |
[ ] | 中括號 | 陣列宣告/存取 |
( ) | 小括號 | 方法呼叫/參數/運算分組/型別轉換 |
; | 分號 | 陳述句結束 |
, | 逗號 | 參數/變數列表分隔 |
. | 句點 | 成員存取/套件分隔/數值小數點 |
: | 冒號 | 標籤/增強 for/三元運算子/assert/註解 |
@ | at 符號 | 註解標記 |
:: | 雙冒號 | 方法參考 |
-> | 箭頭 | Lambda 表達式 |
package com.example; // 套件分隔符
public class Demo { // 識別字、關鍵字、分隔符
private static final int MAX = 100; // 常值、運算子
public static void main(String[] args) { // 識別字、關鍵字、分隔符
int sum = 0; // 識別字、常值、運算子
for (int i = 1; i <= MAX; i++) { // 關鍵字、分隔符、運算子
sum += i; // 運算子
}
System.out.println("Sum: " + sum); // 字串常值、運算子、方法呼叫
}
}