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)

  }
}

原文地址:https://www.cnblogs.com/Arisf/p/15761963.html