Java char類型

char類型:表示Unicode字符。2個字節(16位,可表示65535個字符數)。使用定長編碼表示。

char是無符號數據類型。

 

可用數字直接量 或 字符 或int變量強轉

char c0 = '瀚';
char c00 = '\t'; //特殊字符型常量。 轉義字符\
char c1 = 97; //字符類型可以直接存放數字。字符底層就是碼點。 char的本質是一個整數,輸出時是Unicode碼對應的字符
char c10 = 65536; //編譯錯誤 
char c2 = 'a'; //字符常量
char c3 = '\u0061'; //Unicode碼點
int i = 97;
char c4 = (char)i;
char c40 = i; //編譯錯誤
System.out.println((int)c0); //28698
 

 char類型可進行運算,相當於一個整數,都有對應的Unicode碼

 

各國常用字符碼點範圍U+0000~U+FFFF,即char類型可表示的字符。

后Unicode字符集數量增多,超過65535個,U+10000~U+10FFFF的字符採用兩個代碼單元表示。

 

char可以表示一個代碼單元,無法直接表示兩個代碼單元。

使用16位表示一個字符,稱為代碼單元

兩個代碼單元使用字符串類型表示。字符串類型底層是由字符組成的。

String str = "\ud801\ud801\u0061";
System.out.println(str.charAt(1));
但用str.charAt(1)取出的是第二代碼單元,無法正確解析出字符。

 

U+0000~U+FFFF  基本多文種平面(BMP)

其中 替換區域:U+D800~U+DFFF

第一個代碼單元U+D800~U+DBFF, 第二個代碼單元U+DC00~U+DFFF。

其他平面的碼點偏移后填入編碼1101-10XX-XXXX-XXXX,1101-11XX-XXXX-XXXX的20位X中。即這32位表示碼點>65535的字符。

 

Java char类型介绍 https://blog.csdn.net/gao_zhennan/article/details/124157890

posted @ 2022-11-25 14:32  海哲飞  阅读(62)  评论(0)    收藏  举报