Groovy-演算子
演算子は、特定の数学的または論理的操作を実行するようにコンパイラーに指示する記号です。
Groovyには次のタイプの演算子があります-
- 算術演算子
- 関係演算子
- 論理演算子
- ビット演算子
- 代入演算子
算術演算子
Groovy言語は、他の言語と同様に通常の算術演算子をサポートします。以下は、Groovyで使用可能な算術演算子です。
例を表示
オペレーター | 説明 | 例 |
---|---|---|
+ | 2つのオペランドの追加 | 1 +2は3を与えます |
− | 最初のオペランドから2番目のオペランドを減算します | 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は4を与えます |
関係演算子
関係演算子を使用すると、オブジェクトを比較できます。以下は、Groovyで使用可能な関係演算子です。
例を表示
オペレーター | 説明 | 例 |
---|---|---|
== | 2つのオブジェクト間の同等性をテストします | 2 == 2は真になります |
!= | 2つのオブジェクトの違いをテストします | 3!= 2は真になります |
< | 左側のオブジェクトが右側のオペランドよりも小さいかどうかを確認します。 | 2 <3は真になります |
<= | 左側のオブジェクトが右側のオペランド以下であるかどうかを確認します。 | 2 <= 3は真になります |
>> | 左側のオブジェクトが右側のオペランドより大きいかどうかを確認します。 | 3> 2は真になります |
> = | 左側のオブジェクトが右側のオペランド以上であるかどうかを確認します。 | 3> = 2は真になります |
論理演算子
論理演算子は、ブール式を評価するために使用されます。Groovyで使用できる論理演算子は次のとおりです。
例を表示
オペレーター | 説明 | 例 |
---|---|---|
&& | これは論理的な「and」演算子です | true && trueはtrueを与えます |
|| | これは論理「または」演算子です | true || trueはtrueを与えます |
! | これは論理的な「否定」演算子です | !falseはtrueになります |
ビット演算子
Groovyは4つのビット演算子を提供します。以下は、Groovyで使用可能なビット演算子です。
例を表示
シニア番号 | オペレーターと説明 |
---|---|
1 |
& これはビット単位の「and」演算子です |
2 |
| これはビット単位の「or」演算子です |
3 |
^ これはビット単位の「xor」または排他的論理和演算子です |
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になります |
%= | これは、2つのオペランドを使用してモジュラスを取り、結果を左のオペランドに割り当てます。 | def A = 5 A%= 3 出力は2になります |
範囲演算子
Groovyは範囲の概念をサポートし、..表記の助けを借りて範囲演算子の表記を提供します。範囲演算子の簡単な例を以下に示します。
def range = 0..5
これは、整数の単純な範囲を定義するだけで、下限が0、上限が5のrangeというローカル変数に格納されます。
次のコードスニペットは、さまざまな演算子の使用方法を示しています。
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演算子を優先順に示します。
シニア番号 | 演算子と名前 |
---|---|
1 | ++ -- + - 事前インクリメント/デクリメント、単項プラス、単項マイナス |
2 | * / % 乗算、除算、モジュロ |
3 |
+ - 足し算、引き算 |
4 | == != <=> 等しい、等しくない、と比較する |
5 | & バイナリ/ビット単位および |
6 | ^ バイナリ/ビットごとのxor |
7 | | バイナリ/ビット単位または |
8 | && 論理的および |
9 | || 論理または |
10 | = **= *= /= %= += -= <<= >>= >>>= &= ^= |= さまざまな代入演算子 |