字符型通常用于表示单个的字符,字符型值必须使用单引号(')括起来。Kotlin语言使用16位的Unicode字符集作为编码方式,而Unicode被设计成支持世界上所有书面语言的字符,包括中文字符,因此Java程序支持各种语言的字符。
字符型值有如下3种表示形式。
q 直接通过单个字符来指定字符型值,例如'A'、'9'和'0'等。
q 通过转义字符表示特殊字符型值,例如'\n'、'\t'等。
q 直接使用Unicode值来表示字符型值,格式是'\uXXXX',其中XXXX代表一个十六进制的整数。
Kotlin语言中常用的转义字符如表2.1所示。
表2.1 Kotlin语言中常用的转义字符
转义字符 | 说明 | Unicode表示方式 |
\b | 退格符 | \u0008 |
\n | 换行符 | \u
000a
|
\r | 回车符 | \u000d |
\t | 制表符 | \u0009 |
\" | 双引号 | \u0022 |
\' | 单引号 | \u0027 |
\\ | 反斜线 | \u
005c
|
字符型值也可以采用十六进制编码方式来表示,范围是'\u0000'~'\uFFFF',一共可以表示65536个字符,其中前256个('\u0000'~'\u00FF')字符和ASCII码中的字符完全重合。
与Java不同的是,Kotlin的Char型变量不能当成整数值使用,Char型的变量或表达式不能赋值给整型变量,整型的变量或表达式也不能赋值给Char型变量。简单来说,Kotlin的Char型就是简简单单的字符型,不能直接当成整型使用。
下面程序简单示范了字符型变量的用法。
程序清单:codes\02\2.5\CharTest.kt
fun main(args: Array<String>) {
// 直接指定单个字符作为字符值
val aChar: Char = 'a'
// 使用转义字符来作为字符值
val enterChar: Char = '\r'
// 使用Unicode编码值来指定字符值
val ch: Char = '\u9999'
// 将输出一个'香'字符
println(ch)
// 定义一个'疯'字符值
var zhong: Char = '疯'
// 将char变量当成Int型处理会报错。
var zhongValue: Int = zhong
}