<b>3.3.3 char類型</b>
char類型原本用于表示單個字元。不過,現在情況已經有所變化。如今,有些unicode字元可以用一個char值描述,另外一些unicode字元則需要兩個char值。有關的詳細資訊請閱讀下一節。
char類型的字面量值要用單引号括起來。例如:'a'是編碼值為65所對應的字元常量。它與"a"不同,"a"是包含一個字元a的字元串。char類型的值可以表示為十六進制值,其範圍從\u0000到\uffff。例如:\u2122表示注冊符号(tm),\u03c0表示希臘字母π。
除了轉義序列\u之外,還有一些用于表示特殊字元的轉義序列,請參看表3-3。所有這些轉義序列都可以出現在加引号的字元字面量或字元串中。例如,'\u2122'或"hello\n"。轉義序列\u還可以出現在加引号的字元常量或字元串之外(而其他所有轉義序列不可以)。例如:
就完全符合文法規則,\u005b和\u005d是[和]的編碼。
表3-3 特殊字元的轉義序列
轉義序列 名稱 unicode值 轉義序列 名稱 unicode值
\b 倒退 \u0008 \” 雙引号 \u0022
\t 制表 \u0009 \’ 單引号 \u0027
\n 換行 \u000a \\ 反斜杠 \u005c
\r 回車 \u000d
警告:unicode轉義序列會在解析代碼之前得到處理。例如,"\u0022+\u0022"并不是一個由引号(u+0022)包圍加号構成的字元串。實際上,\u0022會在解析之前轉換為",這會得到""+"",也就是一個空串。
更隐秘地,一定要當心注釋中的\u。注釋
會産生一個文法錯誤,因為讀程式時\u00a0會替換為一個換行符。類似地,下面這個注釋
也會産生一個文法錯誤,因為\u後面并未跟着4個十六進制數。