一、kotlin基本数据类型:
- 整数类型:Byte、Short、Int 和 Long,其中 Int 是默认类型。
- 浮点类型:Float 和 double,其中 Double 是默认类型。
- 字符类型:Char 。
- 布尔类型:Boolean 。
整数类型:Byte、Short、Int 和 Long,其中 Int 是默认类型。
整数类型 | 宽度/字节 | 取值范围 |
---|---|---|
Byte | 1 (8位) | -128 ~ 127 |
Short | 2 (16位) | ~ - |
Int | 4 (32位) | ~ - |
Long | 8 (64位) | ~ - |
val a: Long = 10L // 十进制
val b: Byte = 0b11100 // 二进制
val b1 = 0B11100 // 二进制
val c: Int = 0x123 // 十六进制
val c1 = 0X123 // 十六进制
浮点类型:Float 和 double,其中 Double 是默认类型。
浮点类型 | 宽度/字节 |
---|---|
Float | 4 (32位) |
Double | 8 (64位) |
var a: Double = 10.01 // Double类型
var b: Float = 100f // Float类型
var c = 100F // Float类型
字符类型:Char 。
val c: Char = 'A' // A
val c1 = '\u0041' // A
val c2: Char = '花' // 花
注意:为了表示一些特殊字符,前面要加上反斜杠 (\) ,这称为字符转义。
字符标示 | Unicode编码 | 说明 |
---|---|---|
\t | \u0009 | 水平制表符tab |
\n | \u000a | 换行 |
\r | \u000d | 回车 |
\" | \u0022 | 双引号 |
\' | \u0027 | 单引号 |
\\ | \u005c | 反斜线 |
\$ | \u0024 | 美元符 |
\b | \u0008 | 退格 |
布尔类型:Boolean 。
val isMain = true
var isMan: Boolean = false
二、数值类型之间的转换
- kotlin赋值,只能进行显示转换
val byteNum: Byte = 16
val shortNum: Short = byteNum // 编译错误,不能进行隐式转换
显示转换方法: |
---|
toByte(): Byte |
toShort(): Short |
toInt(): Int |
toLong(): Long |
toFloat(): Float |
toDouble(): Double |
toChar(): Char |
val byteNum: Byte = 16
// val shortNum: Short = byteNum // 编译错误
val shortNum: Short = byteNum.toShort()
var intNum = 16
val longNum: Long = intNum.toLong()
intNum = longNum.toInt() // 可能出现精度丢失
val doubleNum = 10.8
println("doubleNum.toInt : " + doubleNum.toInt()) // Double类型转换Int类型,结果是 10
val charNum = 'A'
println("charNum.toInt : " + charNum.toInt()) // Char类型转换Int类型,结果是 65
val longNum = 666666666L
println("longNum : " + longNum)
println("longNum.toInt : " + longNum.toInt()) // 结果是-1923267926,精度丢失
- 数学计算,可以进行隐式转换
计算过程中隐式转换类型的转换规则
操作数1类型 | 操作数2类型 | 转换后的类型 |
---|---|---|
Byte | Byte | Int |
Byte | Short | Int |
Byte、Short | Int | Int |
Byte、Short、Int | Long | Long |
Byte、Short、Int、Long | Float | Float |
Byte、Short、Int、Long、Float | Double | Double |