codecamp

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运算符(仅列出部分运算符)

运算符 名称
++​ ​,--​  ,​+​ ​,- 预增/减(自增/减),一元加,一元减
*​,​ /​, ​ 乘法,除法,取模
+​,- 加法,减法(二元)
==​,​!=​, ​<=>​​ 等于,不等于,比较运算符
二进制/位运算符与
^ 二进制/位异或
| 二进制/按位或
逻辑非
&& 逻辑与
|| 逻辑或
=​,+=​,​-=​,​*=​,​/=​,​%=​,​**=
各种赋值运算符


Groovy 变量
Groovy 循环
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }