常用的位运算符如下:
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
}