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 |
! | 这是逻辑“非”运算 | !true 得到 false |
位运算符
Groovy中提供了四个位运算符。以下是在Groovy中可用的位运算符 -
运算符 | 描述 |
---|---|
& | 这是位“与”运算 |
| | 这是按位“或”运算 |
^ | 这是按位“异或”或异或运算符 |
〜 | 这是按位反运算符 |
这里是显示这些运算符的真值表。
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提供的赋值运算符 -
运算符 | 描述 | 例子 |
---|---|---|
+= | A += B 等价于 A = A+B |
DEF A = 5 A += 3 输出将是8 |
-= | A -= B 等价于 A = A-B |
DEF A = 5 A -= 3 输出将是2 |
*= | A *= B 等价于 A= A*B |
DEF A = 5 A *= 3 输出将是15 |
/= | A /= B 等价于 A = A/B |
DEF A = 6 A /= 3 输出将是2 |
(%)= | A (%)= B 等价于 A = A % B |
DEF A = 5 A %= 3 输出将是2 |
范围运算符
Groovy支持范围的概念,并在..符号的帮助下提供范围运算符的符号。下面给出了范围运算符的一个简单示例。
def range = 0..5
这只是定义了一个简单的整数范围,存储到一个局部变量称为范围内的下限为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中运行结果如下:
5..10 7
其中
5..10
等价于[5, 6, 7, 8, 9, 10]
,这是Groovy中的一个整数范围(Range)对象,包含从5到10的所有整数。这种写法在Groovy中是非常常见的,它用于表示一个连续的整数序列,通常用于循环或遍历操作中。
运算符优先级
下表按优先级顺序列出了所有groovy运算符(仅列出部分运算符)
运算符 | 名称 |
---|---|
++ ,-- ,+ ,- |
预增/减(自增/减),一元加,一元减 |
* , / , % |
乘法,除法,取模 |
+ ,- |
加法,减法(二元) |
== ,!= , <=> |
等于,不等于,比较运算符 |
& |
二进制/位运算符与 |
^ |
二进制/位异或 |
| |
二进制/按位或 |
! | 逻辑非 |
&& |
逻辑与 |
|| |
逻辑或 |
= ,+= ,-= ,*= ,/= ,%= ,**=
|
各种赋值运算符 |