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語句可以看出,顯示了範圍語句中定義的整個數字範圍。

get 語句用於從定義的範圍內獲取物件,該物件以索引值作為引數。

[5, 6, 7, 8, 9, 10] 
7

運算子優先順序

下表按優先順序順序列出了所有 groovy 運算子。

序號 運算子和名稱
1

++ -- + -

前置增量/減量,一元加,一元減

2

* / %

乘法,除法,模

3

+ -

加法,減法

4

== != <=>

等於,不等於,比較

5

&

二進位制/按位與

6

^

二進位制/按位異或

7

|

二進位制/按位或

8

&&

邏輯與

9

||

邏輯或

10

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

各種賦值運算子

廣告

© . All rights reserved.