Java 中字元常值以單引號括住單一字元,如 'a'、'A'、'中'。與 C/C++ 相同,Java 支援轉義字元(以反斜線 \ 開頭),賦予特殊字元新含義:
| 轉義序列 | 代表字元 |
|---|---|
\ddd | 1~3 位八進位數值代表的字元 |
\uxxxx | 1~4 位十六進位 Unicode 碼點代表的字元 |
\' | 單引號 ' |
\\ | 反斜線 \ |
\r | 歸位鍵 (CR) |
\n | 換行鍵 (LF) |
\f | 換頁 |
\t | 水平定位鍵 |
\b | 退格鍵 |
與 C/C++ 的 8 位 char(通常對應 ASCII/擴展 ASCII)不同,Java char:
0 ~ 65535(\u0000 ~ \uFFFF)。\u0061 代表 'a',\u4E2D 代表 '中'。char c = 'a'; // 指定初值
char ch = '\u4E2D'; // 使用 Unicode 碼點
關鍵限制: Java 不提供無符號整數型別,因此 char 不能直接當作整數運算(不同於 C/C++)。但可透過明確轉型進行運算:
int three = 3;
char one = '1'; // Unicode 值 49
char four = (char)(three + one); // four 變成 '4' (Unicode 52)
運算時 char 自動提升為 int,結果再轉回 char。
以雙引號括住的字元序列,如 "Hello\nWorld"。與 C/C++ 最大不同:
java.lang.String 類別的物件。javac -encoding UTF-8。char 無法儲存補充平面字元(Emoji 等,需 char 配對或使用 int 存碼點)。==,字串比較必須用 .equals()。