【Java从零开始再学习 03】java的数据类型(下)简述char类型

170 阅读2分钟

「这是我参与2022首次更文挑战的第9天,活动详情查看:2022首次更文挑战」。

字符型(char)

char原本用于表示单个字符,现在可能表示为多个。因为现在在java中使用的是Unicode编码描述了UTF-16的一个代码单元,不过在Unicode中,也兼容了我们平常使用的ASII编码。我们在进行char类型运算时可以直接当做ASCII表对应的整数来对待。最好不要使用char类型在java程序中。有些Unicode字符可以使用一个char值表示,有的需要两个。char字符需要用单引号括起来。char的值可以用十六进制表示,范围在\u0000到\uFFFF。还有表示特殊字符的转义序列。

如下表:

转义序列名称Unicode值
\b退格\u0008
\t制表\u0009
\n换行\u000a
\r回车\u000d

Unicode编码

Unicode编码的设计初衷是为了解决不同编码下的不同字符使用单字符编码,或者多字符编码问题。统一使用两个字节来表示字符。但是后来发现两个字节还是不过描述所有的Unicode字符了。这也是为什么不建议在java程序中使用char类型的原因之一。

下面介绍几个基本概念:

码点:指一个编码表中某一个字符对应的代码值,在Unicode编码标准中为十六进制数加前缀'U+'表示。比如:U+0041表示’A‘.

代码平面:在Unicode标准中一共存在17个代码平面,第一个代码平面为基本多语言平面,包括码点U+0000到U+FFFF的Unicode代码。其他16个平面为从U+10000到U+10FFFF,包括辅助字符。

代码单元:在基本多语言平面上,每个字符用16位表示。这种UTF-16编码为代码单元。辅助字符编码是一对连续的代码单元,在基本多语言平面未使用的2048个值的范围内,被称为代替区域。

布尔类型(boolean)

只有两个值false或者true用来判定真假。