(一)Scala 的位运算符
需要有二进制位的基础
[提问] 大家是否学过 10 进制转成 2 进制?
常用的位运算符如下:
-
& 按位与运算符,0&1 = 0, 1&0= 0 ,0&0 = 0,1&1 = 1
-
| 按位或运算符。0|1 = 1, 1|0= 1 ,0|0 = 0,1|1 = 1
-
^ 按位异或运算符。0^1 = 1, 1^1= 0,0^0 = 0
-
~ 按位取反运算符
-
<< 左移运算符。右边补零,放大。
-
右移运算符。左边补零,缩小。
-
val result = 10 - 2 + 3 * 4 / 2
println (result) // 问题 1
val a = true
val b = false
val c = false
println (a || b && c) // 问题 2
[讲解] 基本规则:
- 乘 | 除模 > 加减
- 算术 > 关系 > 赋值
- && >||
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)
}
}