1、自动提升原则:有多种类型的数据混合运算时,系统首先自动将所有数据转换成精度大的数据类型,然后再进行计算。
2、把精度大的数值类型给精度小的数值类型,就会报错,反之就会进行自动类型转换。
3、(byte、short、char)之间不会相互自动转换。
4、byte、short、char它们可以计算,在计算时首先转换为int类型。
例:
1 object Demo4_DataTypeConversion { 2 def main(args: Array[String]): Unit = { 3 // 1、 4 val a1: Byte = 10 5 val b1: Long = 222L 6 val result: Long = a1 + b1 7 8 //强转 9 val result1: Int = (a1 + b1.toInt) 10 11 //2 12 val a2: Byte = 10 13 val b2: Int = a2 14 15 //3 16 val a3: Byte = 10 17 val b3: Char = 'b' 18 //error 19 //val c3: Byte = b3 20 21 //4 22 val a4: Byte = 10 23 val b4: Short = 20 24 val c4: Char = 'a' 25 //转换为Int类型 26 val result4 = (a4 + b4) 27 val result44: Int = (a4 + b4 +c4) 28 print(result44) 29 } 30 31 }