首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 字元型別完整指南:char、轉義字元與 Unicode 支援

     編輯:Java 相關知識

字元常值

Java 中字元常值以單引號括住單一字元,如 'a'、'A'、'中'。與 C/C++ 相同,Java 支援轉義字元(以反斜線 \ 開頭),賦予特殊字元新含義:

轉義序列代表字元
\ddd1~3 位八進位數值代表的字元
\uxxxx1~4 位十六進位 Unicode 碼點代表的字元
\'單引號 '
\\反斜線 \
\r歸位鍵 (CR)
\n換行鍵 (LF)
\f換頁
\t水平定位鍵
\b退格鍵

核心差異:Java char 是 16 位無符號 Unicode

與 C/C++ 的 8 位 char(通常對應 ASCII/擴展 ASCII)不同,Java char:

  • 佔用 16 位(2 位元組),無符號。
  • 範圍 0 ~ 65535(\u0000 ~ \uFFFF)。
  • 直接對應 Unicode Basic Multilingual Plane (BMP),原生支援中文、日文、韓文等多語系字元。例如 \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 字串不是字元陣列,而是 java.lang.String 類別的物件。
  • String 物件不可變,所有修改操作都會產生新物件。

實務提醒

  • 處理中文等非 ASCII 字元時,請確保原始碼檔案編碼為 UTF-8,並編譯時指定 javac -encoding UTF-8。
  • 單一 char 無法儲存補充平面字元(Emoji 等,需 char 配對或使用 int 存碼點)。
  • 字元比較直接用 ==,字串比較必須用 .equals()。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved