运算符
运算符是一个符号,告诉编译器执行特定的数学或逻辑操作。
Groovy有以下类型的运算符 -
- 算术运算符
- 关系运算符
- 逻辑运算符
- 按位运算符
- 分配运算符
算术运算符 (Arithmetic Operators)
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将给出真实 |
!= | 测试两个对象之间的差异 | 3!= 2将给出真实 |
< | 检查左对象是否小于右操作数。 | 2 <3将给出真实 |
<= | 检查左对象是否小于或等于右操作数。 | 2 <= 3将给出真实 |
> | 检查左对象是否大于右操作数。 | 3> 2将给出真实 |
>= | 检查左对象是否大于或等于右操作数。 | 3> = 2将给出真实 |
逻辑运算符 (Logical Operators)
逻辑运算符用于计算布尔表达式。 以下是Groovy中可用的逻辑运算符 -
操作者 | 描述 | 例 |
---|---|---|
&& | 这是逻辑“和”运算符 | true && true将给出真实 |
|| | 这是逻辑“或”运算符 | 真|| 真的会给出真实的 |
! | 这是逻辑“非”运算符 | !false will give true |
按位运算符 (Bitwise Operators)
Groovy提供了四个按位运算符。 以下是Groovy中可用的按位运算符 -
Sr.No | 操作符和说明 |
---|---|
1 | & 这是按位“和”运算符 |
2 | | 这是按位“或”运算符 |
3 | ^ 这是按位“xor”或Exclusive或运算符 |
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
运算符优先级 (Operator Precedence)
下表按优先顺序列出了所有groovy运算符。
Sr.No | 运算符和名称 |
---|---|
1 | ++ -- + - 预增/减,一元加,一元减 |
2 | */% 乘,div,modulo |
3 | + - 另外,减法 |
4 | == != 《=》 等于,不等于,比较 |
5 | & 二进制/按位和 |
6 | ^ 二进制/按位xor |
7 | | 二进制/按位或 |
8 | && 合乎逻辑的 |
9 | || 逻辑或 |
10 | = **= *= /= %= += -= 《《= 》》= 》》》= &= ^= |= 各种赋值运算符 |