- 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 | = **= *= /= %= += -= <<= >>= >>>= &= ^= |= 各种赋值运算符 |