一、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 |