Javaで扱う基本的な演算子は算数や数学などで出会ったことがあるものが多いはずだ。
しかし、中には見慣れない演算子に出会うこともある。その中でも、よく出会うのがインクリメント「++」とデクリメント「--」だ。
このページではインクリメント演算子とデクリメント演算子についてご紹介しよう。
インクリメント・デクリメント演算子
Javaのインクリメント・デクリメント演算子は、数値型の変数の値を1だけ増やしたり、1だけ減らしたりする演算子だ。このような演算をどんな場面で使うかというと、数を数えるような場面でカウンターとして使用する場合がある。また、連続するデータの位置を管理するためにインデックスとして使う場合もある。
では、それぞれの演算子の基本的な働きを見ていこう。
インクリメント演算子 ++
インクリメント演算子「++」はオペランドの値を取り出してその値に1増やした後、その値をオペランドに書き込む。オペランドは、数値型の変数でなければならない。ただし、式の中でvalueがどんな値をとるかは注意が必要なので、次のセクションの「前置と後置」に関する記事を参考にしてほしい。
書き方の基本は簡単だ。
オペランド ++:
この演算子は加算に置き換えられるので、以下のふたつの式は同じ結果になる。
- value ++;
- value = value + 1;
デクリメント演算子 --
デクリメント演算子「--」はオペランドの値を取り出してその値から1減らした後、その値をオペランドに書き込む。オペランドは、数値型の変数でなければならない。ただし、式の中でvalueがどんな値をとるかは注意が必要なので、次のセクションの「前置と後置」に関する記事を参考にしてほしい。
書き方の基本は簡単だ。
オペランド --;
この演算子は減算に置き換えられるので、以下のふたつの式は同じ結果になる。
- value --;
- value = value - 1;
サンプルプログラム
このサンプルプログラムは、インクリメント演算子とデクリメント演算子の演算結果を表示する。
1 2 3 4 5 6 7 8 9 10 11 |
public class IncrementAndDecrement { public static void main (String[] args) { int value;//[1] value = 3;//[2] value ++;//[3] System.out.println("[4] value ++ = " + value); value = 3;//[5] value --;//[6] System.out.println("[7] value -- = " + value); } } |
実行結果
1 2 |
[4] value ++ = 4 [7] value -- = 2 |
サンプルプログラムの説明
それでは簡単にプログラムの解説をしてゆこう。
- [1] valueを宣言する。
- [2] valueに3を代入する。
- [3] value ++を実行する。
- [4] valueを表示する。
- [2] valueに3を代入する。
- [3] value --を実行する。
- [4] valueを表示する。
前置と後置の違い
実は、インクリメントとデクリメントには前置きと後置きのパターンがある。「a++」と「++a」では意味が違う。この辺りは下記で詳しく説明している。
【Java入門】インクリメント演算子の前置と後置の違いとは?
まとめ
+1や-1を簡単に書くために存在するのがインクリメントとデクリメントになる。共にプログラムではよく使うため通常の演算子とは別に用意されているわけだ。
カウンターや後々お伝えするfor文で必ず使うものなので、把握しておこう。
コメント