数值类型精度排序
从小到大:Byte < Short < Int < Long < Float < Double
Char类型可以转换为Int类型,不可以转换为其他类型。
自动转换
- 从低精度到高精度时自动转换。
// 低精度可以自动向高精度转换
var a: Byte = 123
var b: Int = a
println(b)
强制转换
- 高精度向低精度转换时需要强制转换。转换方法为toXxx。
// 高精度向低精度转换时需要强制转换
var c: Double = 123.6
var d: Int = c.toInt
println(d)
Char类型和Byte、Short、Int类型的运算
- Char类型和Byte、Short、Int类型运算时,先转化为Int型,再计算。
var s1: Short = 123
var s2: Byte = 11
var c1: Char = 'a'
var r1: Int = s1 + s2 + c1
println(r1)