Scala类型转换
数据类型转换
1)说明
- 自动类型提升:多种数据类型混合运算,自动提升到精度最大的数据类型。
- 高精度赋值到低精度,直接报错。
- 除了图中的隐式类型转换,都需要强制类型转换。
Byte Short Char
计算时会直接提升为Int
。Boolean
不能参与整数浮点运算,不能隐式转换为整数。-
2)练习
package chapter02 object Test08_DataTypeConversion { def main(args: Array[String]): Unit = { //(1)自动类型提升:多种数据类型混合运算,自动提升到精度最大的数据类型。 val a1: Byte = 10 val b1: Long = 2353 var result1: Long = a1 + b1 val result11: Int = (a1 + b1.toInt) //强制转换 //(2)高精度赋值到低精度,直接报错。 val a2: Byte = 10 val b2: Int = a2 // val c2: Byte = b2 //error //(3)(byte short) 和char之间不会自动相互转换 val a3: Byte = 10 val b3: Char = 'b' // val c3: Byte = b3 //error val c3: Int = b3 println(c3) //(4)如果要计算,这三者要转为Int类型 val a4: Byte = 12 val b4: Short = 25 val c4: Char = 'c' val result4: Int = a4 + b4 val result44: Int = a4 + b4 + c4 println(result44) } }