运算符
运算符是一个符号,通知编译器执行特定的数学或逻辑操作。
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= AB | 
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运算符
| 运算符 | 
名称 | 
| ++ - + - | 
预增/减,一元加,一元减 | 
| * / % | 
乘法,除法,取模 | 
| + - | 
加法,减法 | 
| ==!= <=> | 
等于,不等于,比较 | 
| & | 
二进制/位运算符与 | 
| ^ | 
二进制/位异或 | 
| 丨 | 
二进制/按位或 | 
| && | 
逻辑和 | 
| 丨丨 | 
逻辑或 | 
| = * =  = / =%= + = - = << = >> = >>> = = ^ = 丨 = | 
各种赋值运算符 |