char类型用于表示单个字符。通常用来表示字符常量。例如:‘A’是编码为65所对应的字符常量。它与“A”不同,“A”是一个包含字符A的字符串,Unicode编码单元可以表示为十六进制值,其范围是\u0000到\Uffff。例如:\u2122表示注册符号(TM),\u03C0表示希腊字母π。
除了可以采用转义序列符\u表示Unicode代码单元的编码之外,还有一些用于表示特殊字符的转义序列符,请参看下表。所有这些转义序列符都可以出现在字符常量或字符串的引号内。例如‘\u2122’或“Hello\n”。转义序列符\u还可以出现在字符常量或字符串的引号之外(而其他所有转义序列不可以)。例如:
public static void main(String\u0058\u0050D args)
这种形式完全符合语法规则。\u005B和\u005D是[和]的编码。
特殊字符的转义序列符
转义序列 名称 Unicode值 转义序列 名称 Unicode值
\b 退格 \u0008 \" 双引号 \u0022
\t 制表 \u0009 \' 单引号 \u0027
\n 换行 \u000a \\ 反斜杠 \u005c
\r 回车 \u000d
要想弄清char类型,就必须了解Unicode编码表。Unicode打破了传统字符编码方法的限制。在Unicode出现之前,已经有很多种不同的标准,已经在很多种不同的标准:美国的ASCII、西欧语言中的ISO8859-1、俄国的KOI-8、中国的GB18030和BIG-5等。这样就产生了下面两个问题:一个是对于任意给定的代码值,在不同的编码方案下有可能对应不同的字母;二是采用大字符集的语言其编码长度有可能不同。例如,有些常用的字符采用单字节编码,而另一些字符则需要两个或更多个字符。
注意:建议不要在程序中使用char类型,除非是对UTF-16代码单元进行操作。最好将需要处理的字符串用抽象数据类型表示。
boolean类型
boolbean类型有两个值:false和true,用来判断逻辑条件。整数值和布尔型之间不能相互转换。