- Groovy 教程
- Groovy - 首頁
- Groovy - 概述
- Groovy - 環境
- Groovy - 基本語法
- Groovy - 資料型別
- Groovy - 變數
- Groovy - 運算子
- Groovy - 迴圈
- Groovy - 決策
- Groovy - 方法
- Groovy - 檔案 I/O
- Groovy - 可選值
- Groovy - 數字
- Groovy - 字串
- Groovy - 範圍
- Groovy - 列表
- Groovy - 對映
- Groovy - 日期和時間
- Groovy - 正則表示式
- Groovy - 異常處理
- Groovy - 面向物件
- Groovy - 泛型
- Groovy - 特性
- Groovy - 閉包
- Groovy - 註解
- Groovy - XML
- Groovy - JMX
- Groovy - JSON
- Groovy - DSLS
- Groovy - 資料庫
- Groovy - 構建器
- Groovy - 命令列
- Groovy - 單元測試
- Groovy - 模板引擎
- Groovy - 元物件程式設計
- Groovy 有用資源
- Groovy - 快速指南
- Groovy - 有用資源
- Groovy - 討論
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 | = **= *= /= %= += -= <<= >>= >>>= &= ^= |= 各種賦值運算子 |