运算符

16 阅读1分钟

(一)Scala 的位运算符
需要有二进制位的基础

[提问] 大家是否学过 10 进制转成 2 进制?

常用的位运算符如下:

  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. << 左移运算符。右边补零,放大。

  6. 右移运算符。左边补零,缩小。

  7. val result = 10 - 2 + 3 * 4 / 2
    println (result) // 问题 1

val a = true
val b = false
val c = false
println (a || b && c) // 问题 2

[讲解] 基本规则:

  1. 乘 | 除模 > 加减
  2. 算术 > 关系 > 赋值
  3. && >||

object ppp {
  def main(args: Array[String]): Unit= {
    """var a = 5; //101
    var b = 4 //
    println("5&4=" + (5 & 4))
    println("5|4=" + (5 | 4))
    println("5^4=" + (5 ^ 4))
    println("4>>2=" + (4 >> 2))
    println("4&2=" + (4 & 2))"""
    val a = true
    val b = false
    val c = false
    println(a || b && c)
    println(a || (b && c))
    println((a || b) && c)

  }

}