zl程序教程

您现在的位置是:首页 >  Java

当前栏目

Java核心技术卷I基础知识3.3.3 char类型

2023-03-09 22:25:17 时间

3.3.3 char类型


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个十六进制数。