文章目录
- scala运算符
- 算术运算符
- 关系运算符
- 逻辑运算符
- 位运算符
- 其他运算符
- 赋值运算符
scala运算符
在 Scala 中,运算符通常被定义为方法。这意味着你可以将运算符视为对象上的方法调用。以下是一些常用的运算符及其对应的操作:
算术运算符
+
:加法-
:减法*
:乘法/
:除法%
:取模(余数)
例如:
val a = 10
val b = 3
val sum = a + b // 13
val diff = a - b // 7
val prod = a * b // 30
val quot = a / b // 3
val rem = a % b // 1
关系运算符
返回都是布尔值
==
:等于!=
:不等于<
:小于<=
:小于等于>
:大于>=
:大于等于
val a = 10
val b = 20
val isEqual = a == b // false
val isNotEqual = a != b // true
val isLess = a < b // true
val isLessOrEqual = a <= b // true
val isGreater = a > b // false
val isGreaterOrEqual = a >= b // false
逻辑运算符
返回布尔值
&&
:逻辑与 (and)||
:逻辑或 (or)!
:逻辑非 (!)
val a = true
val b = false
val and = a && b // false
val or = a || b // true
val not = !a // false
位运算符
&
:按位与|
:按位或^
:按位异或<<
:左移>>
:右移>>>
:无符号右移
val a = 12 // 二进制: 1100
val b = 10 // 二进制: 1010
val and = a & b // 二进制: 1000, 十进制: 8
val or = a | b // 二进制: 1110, 十进制: 14
val xor = a ^ b // 二进制: 0110, 十进制: 6
val leftShift = a << 2 // 二进制: 110000, 十进制: 48
val rightShift = a >> 2 // 二进制: 11, 十进制: 3
val unsignedRightShift = -a >>> 2 // 二进制: 11111111111111111111111111111101 >> 2, 十进制: 1073741821
其他运算符
unary_+
:一元加(通常不改变数值)unary_-
:一元减(取反)unary_!
:一元非(逻辑非,支持布尔值)unary_~
:一元按位非
val a = 42
val plusA = +a // 42
val minusA = -a // -42
val notA = !a // 编译错误,因为 a 不是 Boolean 类型
val complementA = ~a // -43 (二进制补码)
赋值运算符
=
:赋值+=
:加并赋值-=
:减并赋值*=
:乘并赋值/=
:除并赋值%=
:取模并赋值<<=
:左移并赋值>>=
:右移并赋值>>>=
:无符号右移并赋值&=
:按位与并赋值|=
:按位或并赋值^=
:按位异或并赋值
var a = 10
a += 5 // a 现在是 15 a = a+5
a -= 3 // a 现在是 12
a *= 2 // a 现在是 24
a /= 4 // a 现在是 6
a %= 4 // a 现在是 2