Scala的运算符

43 阅读1分钟

scala的位运算符

需要有二进制的基础

当存在多个运算符的时候,先算哪个?再算哪个?

先乘除,后加减

屏幕截图 2025-09-17 092707.png

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

scala中运算符的优先级

屏幕截图 2025-09-17 092502.png

浮点数精度问题

0.1+0.2==0.3? 在计算机中 println(BigDecimal(0.1) + BigDecimal(0.2) == BigDecimal(0.3)) 是正确地

object Base10 {
  def main(args: Array[String]): Unit = {
    val a = 0.1
    val b = 0.2
    val c = 0.3
    
    println(a+b == c) \false
    (1+2==3) \true
    println(0.1+0.1==0.2) \true
  }
}

if语句

屏幕截图 2025-09-17 103525.png

判断是否成年

object Base11 {
  def main(args: Array[String]): Unit = {

    //获取用户输入的数字
    //判断
    //输出结果
    print("请输入年龄:")
    val age = scala.io.StdIn.readInt()
    if (age >= 18) {
      println("成年")
    }else
      println("未成年")
    }
}

判断正方形的面积是否比长方形大:

object Base12 {
  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(a*a>b*c){
      println("正方形面积大")
    }else{
      println("一样大")
    }
  }
}