Scala的运算符

43 阅读1分钟

位运算

10进制 2进制 0 0 1 1 2 10 3 11 4 100 5 101 6 100

换位与运算符,0&1=0, 1&0=0,0&0=0,1&1=1

Scala中运算的优先级

1.乘()除(/)模(%)>加(+)减(-) 2.算术(+-/%)>关系(><>=!=)>赋值(=) 3.&&>||

object inout11 {
  def main(args: Array[String]): Unit = {
    val result =10-2+3*4/2
    println(result)
    val a = true
    val b = false
    val c = false
    println(a||b&&c)
  }
}

计算

object inout12 {
  def main(args: Array[String]): Unit = {
    val a = 2147483647
    val b = 1
    val c =a-(a-b)/2
    println(c)
  }
}
object inout13 {
  def main(args: Array[String]): Unit = {
    val a =0.1
    val b =0.2
    val c =0.3
    println(1+2==3)
    println(0.1+0.2==0.3)
    println(BigDecimal(0.1)+BigDecimal(0.2)==BigDecimal(0.3)   )
    println(0.1+0.1==0.2)
  }
}

布尔表达式

object inout14 {
  def main(args: Array[String]): Unit = {
    print("请输入年龄:")
    val age = scala.io.StdIn.readInt()
    if( age>=18) {
      println("成年")
    }else{
      println("未成年")
    }
  }
}
object inout15 {
  def main(args: Array[String]): Unit = {
    print("请输入正方形边长:")
    val a = scala.io.StdIn.readInt()

    print("请输入长方形的长:")
    val b = scala.io.StdIn.readInt()

    print("请输入长方形的宽:")
    val c = scala.io.StdIn.readInt()

    if(b*c>a*a) {
      println("长方形面积大")
    } else if(b*c<a*a){
      println("正方形面积大")
    }else{
      println("一样大")
    }
  }
}