基本数据类型

类型 位宽度
Double 64
Float 32
Long 64
Int 32
Short 16
Byte 8

你可以使用下划线划分数字,易读:val oneMillion = 1_000_000

类型转化

与Java不同,必须显示转换

1
2
var b:Byte = 1;
var c:Int = b.toInt();

转换方法:

1
2
3
4
5
6
7
toByte(): Byte
toShort(): Short
toInt(): Int
toLong(): Long
toFloat(): Float
toDouble(): Double
toChar(): Char

但有些情况下是可以进行转换的,前提是可以根据上下文环境推断出正确的数据类型而且数学操作符会做相应的重载。

val l = 1L + 3 // Long + Int => Long

位操作

1
2
3
4
5
6
7
shl(bits) – 左移位 (Java’s <<)
shr(bits) – 右移位 (Java’s >>)
ushr(bits) – 无符号右移位 (Java’s >>>)
and(bits) – 与
or(bits) – 或
xor(bits) – 异或
inv() – 反向

字符

和 Java 不一样,Kotlin 中的 Char 不能直接和数字操作,Char 必需是单引号’’包含起来的。比如普通字符 ‘0’,’a’。