scala的运算

31 阅读1分钟

一.位运算

1.& 按位与运算符(0 & 1 = 0,0 & 0 = 0,1 & 1 = 1)

object fdss10 {
  def main(args: Array[String]): Unit = {
    println(s"6&2=${6&2}")
    }
}

2.| 按位或运算符(0 | 1 = 1,0 | 0 = 0,1 | 1 = 1)

object fdss10 {
  def main(args: Array[String]): Unit = {
    println(s"6|2=${6|2}")
  }
}

二.运算的优先级

1.先乘除后加减

2.先 && 后 || (&&>||)

object fdss11 {
  def main(args: Array[String]): Unit = {
    var a=true
    var b=false
    var c=false
    println(a || b && c)
  }
}

3.算术(+-*/%) > 关系(><>=!=) > 赋值(=)

精度问题
object fdss10 {
  def main(args: Array[String]): Unit = {
    var a=0.1
    var b=0.2
    var c=0.3
    println(a+b==c)//false
    println(0.1+0.1==0.2)//true

    println(BigDecimal(0.1)+BigDecimal(0.2)==BigDecimal(0.3))
  }
}
大数字做计算
object fdss12 {
  def main(args: Array[String]): Unit = {
    var a=BigInt("111111111111111111111111") * BigInt("52512544264412255441")
    println(a)
  }
}

if语句