Groovy - 运算符
运算符是告诉编译器执行特定数学或逻辑操作的符号。
Groovy 有以下几种运算符 −
- 算术运算符
- 关系运算符
- 逻辑运算符
- 位运算符
- 赋值运算符
算术运算符
Groovy 语言像任何语言一样支持普通的算术运算符。 以下是 Groovy 中可用的算术运算符 −
运算符 | 描述 | 示例 |
---|---|---|
+ | 两个操作数相加 | 1 + 2 将给出 3 |
− | 从第一个操作数中减去第二个操作数 | 2 − 1 将给出 1 |
* | 两个操作数的乘法 | 2 * 2 将给出 4 |
/ | 分子除以分母 | 3 / 2 将给出 1.5 |
% | 模运算符和整数/浮点除法后的余数 | 3 % 2 将给出 1 |
++ | 用于将操作数的值增加 1 的增量运算符 | int x = 5; x++; x 将给出 6 |
-- | 用于将操作数的值减 1 的增量运算符 | int x = 5; x--; x 将给出 4 |
关系运算符
关系运算符允许比较对象。 以下是 Groovy 中可用的关系运算符 −
运算符 | 描述 | 示例 |
---|---|---|
== | 测试两个对象之间的相等性 | 2 == 2 将给出 true |
!= | 测试两个对象之间的差异 | 3 != 2 将给出 true |
< | 检查左边的对象是否小于右边的操作数。 | 2 < 3 将给出 true |
<= | 检查左侧对象是否小于或等于右侧操作数。 | 2 <= 3 将给出 true |
> | 检查左侧对象是否大于右侧操作数。 | 3 > 2 将给出 true |
>= | 检查左侧对象是否大于或等于右侧操作数。 | 3 >= 2 将给出 true |
逻辑运算符
逻辑运算符用于计算布尔表达式。 以下是 Groovy 中可用的逻辑运算符 −
运算符 | 描述 | 示例 |
---|---|---|
&& | 这是逻辑"与"运算符 | true && true 将给出 true |
|| | 这是逻辑"或"运算符 | true || true 将给出 true |
! | 这是逻辑"非"运算符 | !false 将给出 true |
位运算符
Groovy 提供了四个位运算符。 以下是 Groovy 中可用的位运算符 −
序号 | 运算符描述 |
---|---|
1 |
& 这是按位"与"运算符 |
2 |
| 这是按位"或"运算符 |
3 |
^ 这是按位"异或"运算符 |
4 |
~ 这是按位否定运算符 |
这是展示这些运算符的真值表。
p | q | p & q | p | q | p ^ q |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
赋值运算符
Groovy 语言还提供赋值运算符。 以下是 Groovy 中可用的赋值运算符 −
运算符 | 描述 | 示例 |
---|---|---|
+= | 这会将右操作数添加到左操作数并将结果分配给左操作数。 | def A = 5 A+=3 输出将是 8 |
-= | 这从左操作数中减去右操作数并将结果分配给左操作数 | def A = 5 A-=3 输出将是 2 |
*= | 这将右操作数与左操作数相乘并将结果分配给左操作数 | def A = 5 A*=3 输出将是 15 |
/= | 这将左操作数与右操作数相除并将结果分配给左操作数 | def A = 6 A/=3 输出将是 2 |
%= | 这使用两个操作数取模并将结果分配给左操作数 | def A = 5 A%=3 输出将是 2 |
范围运算符
Groovy 支持范围的概念,并在 .. 符号的帮助下提供范围运算符的符号。 下面给出范围运算符的一个简单示例。
def range = 0..5
这只是定义了一个简单的整数范围,存储在一个名为 range 的局部变量中,下限为 0,上限为 5。
以下代码片段显示了如何使用各种运算符。
class Example { static void main(String[] args) { def range = 5..10; println(range); println(range.get(2)); } }
当我们运行上面的程序时,会得到下面的结果 −
从 println 语句中,可以看到显示了 range 语句中定义的整个数字范围。
get 语句用于从定义的范围中获取对象,该范围以索引值作为参数。
[5, 6, 7, 8, 9, 10] 7
运算符优先级
下表按优先顺序列出了所有 groovy 运算符。
序号 | 运算符与名称 |
---|---|
1 | ++ -- + - 预增/减,一元加,一元减 |
2 | * / % 乘、除、取模 |
3 |
+ - 加法,减法 |
4 | == != <=> 等于,不等于,比较 |
5 | & 二进制/按位和 |
6 | ^ 二进制/按位异或 |
7 | | 二进制/按位或 |
8 | && 逻辑和 |
9 | || 逻辑或 |
10 | = **= *= /= %= += -= <<= >>= >>>= &= ^= |= 各种赋值运算符 |