Scala型別轉換
阿新 • • 發佈:2022-01-04
資料型別轉換
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) } }