一.基本类型
1.数字
数字(不可隐式扩宽转换) |
|
Type |
Bit width |
Double |
64 |
Float |
32 |
Long |
64 |
Int |
32 |
Short |
16 |
Byte |
8 |
表示:限定符 变量名:变量类型 = 值,例:
val maxInt:Int = Int.MAX_VALUE
val minInt:Int = Int.MIN_VALUE等
Long类型表示:val aLong:Long = 123L
Float类型表示:val aFloat:Float = 2.0f
1.1版本起:使用下划线分割数字,不影响结果,更易读
val aLong:Long = 1_000_000
Int ?会将数字装箱,保留相等性不保留同一性,例:
val aInt:Int = 1000
val boxedInt:Int? = aInt
val anotherInt:Int? = aInt
printf(boxedInt===anotherInt) //输出false
显示转换:
val i: Int = b.toInt() // OK:显式拓宽
每个数字类型支持如下转换:
toByte(): Byte
toShort(): Short
toInt(): Int
toLong(): Long
toFloat(): Float
toDouble(): Double
toChar(): Char
重载作为转换的方法,例:val l = 1L + 3 // Long + Int => Long
2.Char (字符用 Char 类型表示。它们不能直接当作数字)
字符字面值用单引号括起来: '1'。 特殊字符可以用反斜杠转义。 支持这几个转义序列:\t、 \b、\n、\r、\'、\"、\\ 和 \$。 编码其他字符要用 Unicode 转义序列语法:'\uFF00'。
转换: c.toInt() - '0'.toInt() // 显式转换为数字