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

= **= *= /= %= += -= <<= >>= >>>= &= ^= |=

各种赋值运算符