scala的位运算符

59 阅读1分钟

常用的位运算符如下:

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


def main(args: Array[String]): Unit = {
    val a = 5  // 二进制:101
    val b = 4  // 二进制:100
    
    println("5 & 4 = " + (5 & 4))   // 结果:0
    println("5 | 4 = " + (5 | 4))   // 结果:9
    println("5 ^ 4 = " + (5 ^ 4))   // 结果:1
    println("4 >> 2 = " + (4 >> 2)) // 结果:1
    println("4 << 2 = " + (4 << 2)) // 结果:16
  }
}

Scala中运算符的优先级:

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

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

val result = 10 - 2 + 3 * 4 / 2
println(result) 

val a = true
val b = false
val c = false
println(a || b && c) 

scala的相等性

def main(args: Array[String]): Unit = {  
  var s1 = "hello"  
  var s2 = new String("hello")  
  var s3 = new String("hello")  
  println(s1 == s2) // true  
  println(s1 eq  s3) // false  
}