scala

34 阅读2分钟
object tys08 {
  def main(args: Array[String]): Unit = {
    // 赋值运算符
    var a = 1 // 把右边的计算结果保存到左边的变量
    a += 2 //  a+=2  等价于 a = a+2
    println(a) //
    a -= 1 // a-=1 等价于 a=a-1
    println(a) //
    a *= 3
    println(a) //
    a /= 4
    println(a) //
    a %= 5
    println(a) //
  }
}

结果为3,2,6,1,1。

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

6&2=2 6|2=6

常用的位运算符如下:

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

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

3. ^ 按位异或运算符。0^1 = 1,  1^1= 0, 0^0 = 0

4. ~ 按位取反运算符

5. << 左移运算符。右边补零,放大。>> 右移运算符。左边补零,缩小。

如果记不清楚,可以使用()来调整。[补充明细如下]

优先级运算符关联性
1() []从左到右
2! ~从右到左
3* / %从左到右
4+ -从左到右
5>> >>> <<从左到右
6> >= < <=从左到右
7== !=从左到右
8&从左到右
9从左到右
10从左到右
11&&从左到右
12从左到右
13= += -= *= /= %= >>= <<= &= ^==从右到左
14,从左到右
val result = 10 - 2 + 3 * 4 / 2
println(result) // 问题1
val a = true
val b = false
val c = false
println(a || b && c) // 问题2

结果为14,true

[讲解]基本规则:

1. 乘(*)除(/)模(%) > 加(+)减(-)

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

3. && > ||

val a = 0.1
val b = 0.2
val c = 0.3
println(a+b==c)

false

val a = 0.1
val b = 0.2
val c = 0.3
println(BigDecimal(a)+BigDecimal(b)==BigDecimal(c))

TRUE

object tys10 {
  def main(args: Array[String]): Unit = {
    var a = 2147483647
    var b = 1
    //**var c = (a + b)/2**//
    var c = a - (a-b)/2
    println(c)
  }
}

高手计算平均数

object tys11 {
  def main(args: Array[String]): Unit = {
    // 从键盘输入一个年龄,判断是否成年
    print("请输入年龄:")
    val age = scala.io.StdIn.readInt()
    if (age >= 18) {
      println("成年")
    }  else {
      println("未成年")
    }
  }
}

计算年龄是否成年

object tys12 {
  def main(args: Array[String]): Unit = {
    println("请输入正方形的边长a:")
    val a = scala.io.StdIn.readDouble()
    println("请输入长方形的长b:")
    val b = scala.io.StdIn.readDouble()
    println("请输入长方形的宽c:")
    val c = scala.io.StdIn.readDouble()
    val square = a * a
    val rectangle = b * c
    if (square > rectangle) {
      println("SQUARE")
    } else if (square < rectangle) {
      println("RECTANGLE")
    } else {
      println("SAME")
    }
  }
}

计算图形面积并比较大小

object tys13 {
  def main(args: Array[String]): Unit = {
    print("请输入分数:")
    val score = scala.io.StdIn.readDouble()
    if (score >= 90 && score<=100) {
      println("A")
    } else if (score >= 80 && score<90) {
      println("B")
    } else if (score >= 70 && score<80) {
      println("C")
    } else if (score >= 60 && score<70) {
      println("D")
    } else if (score >= 0 && score<60) {
      println("E")
    }
  }
}

判断分数区间