数据类型与类型转换
1, 数据类型全家福
-
数值类(9 种原生)
- 整数:Byte → Short → Int → Long
- 浮点:Float → Double
- 字符:Char(底层也是无符号整数)
-
非数值类
- 布尔 Boolean
- 字符串 String(本质是 Java 的引用类型)
2, 类型转换两条路
- 自然转换(自动)
只能“小杯→大杯”,一路绿灯:
byte → short → char → int → long → float → double - 强制转换(手动)
大杯→小杯,或字符串与数字互转,一律.toXXX搞定:
toByte / toShort / toInt / toLong / toFloat / toDouble / toString
3, 代码一口气看爽
// 1. 自动爬坡:小到大
val b: Byte = 127
val i: Int = b // 自动
val d: Double = i // 自动
// 2. 手动下坡:大到小
val big = 3.14
val small: Int = big.toInt // 3,小数直接砍
// 3. 字符串 ↔ 数字
val s = "42"
val n = s.toInt // 42
val back = n.toString // "42"
4, 速记口诀
“小到大,编译器帮你搬;大到小,自己动手砍;字符串想变数,toInt 来赶路。”