インクリメントとデクリメント

回数を数える時などは、その回数を記録する為の変数を用意します。これをカウンタと言いますが、このカウンタの値をカウントアップ(1つ値を増やす)する場合やカウントダウン(1つ値を減らす)する場合専用の処理として、「インクリメント」と「デクリメント」があります。

今回はインクリメントとデクリメントの使い方を説明します。

インクリメントとデクリメント 目次

  1. インクリメントとは
  2. デクリメント
  3. 前置と後置

1.インクリメントとは

インクリメント(Increment)とは、変数の値を現在の値から1増やす処理のことです。1増やすというからにはintやdoubleなどの数値型でしかインクリメントはできません。

インクリメント演算子という演算子が用意されていますので、次の様に使用します。

変数++

変数の後ろに「++」プラス記号を2回続けて書くとインクリメント演算子になります。

package pac01;

public class HelloWorld {
	public static void main(String[] args) {
		int intHensu1 = 0;

		// intHensu1をインクリメント
		intHensu1++;

		System.out.println(intHensu1);
	}
}
--------------------------------------------------------------------
1

インクリメント

8行目のところで、0で初期化されていたintHensu1の値が1増えています。10行目に変数の値を出力することで確認できます。

ちなみに、この「++」は3つ以上書いたらエラーになりますし、1つだけでもエラーになります。

2.デクリメント

デクリメント(Decrement)とは、インクリメントの逆で、変数の値を現在の値から1減らす処理のことです。こちらも同じくintやdoubleなどの数値型でしかデクリメントはできません。

インクリメントと同様に、デクリメント演算子という演算子が用意されていますので、次の様に使用します。

変数–
※表示がおかしくなりますが半角のマイナス記号を2つ書いています

変数の後ろに「–」マイナス記号を2回続けて書くとデクリメント演算子になります。

package pac01;

public class HelloWorld {
	public static void main(String[] args) {
		int intHensu1 = 0;

		// intHensu1をデクリメント
		intHensu1--;

		System.out.println(intHensu1);
	}
}
--------------------------------------------------------------------
-1

デクリメント

8行目のところで、0で初期化されていたintHensu1の値が1減っています。10行目に変数の値を出力することで確認できます。

なお、この「–」に関しても3つ以上書いたらエラーになりますし、1つだけでもエラーになります。

3.前置と後置

インクリメント演算子とデクリメント演算子は、これまでは変数の後ろに書いていましたが、これを「後置」と言います。反対に変数の前に書くこともでき、これを「前置」と言います。

■前置  ++変数 または –変数
■後置  変数++ または 変数–

この2つは、書き方だけの話ではなく、全く意味が変わってきます。

  1. 前置 ・・・ 計算に使用する前に変数の値を増減する
  2. 後置 ・・・ 計算に使用した後に変数の値を増減する

これはどういうことかと言うと、実際に動かしてみた方が分かりやすいかもしれません。次のコードを見てください。

package pac01;

public class HelloWorld {
	public static void main(String[] args) {
		int intHensu1 = 0;
		int intOutPut1 = 0;
		
		int intHensu2 = 0;
		int intOutPut2 = 0;

		// 前置インクリメント
		intOutPut1 = ++intHensu1;
		
		// 後置インクリメント
		intOutPut2 = intHensu2++;

		System.out.println(intOutPut1);
		System.out.println(intOutPut2);
	}
}
--------------------------------------------------------------------
1
0

前置と後置

前置の方は[1]が、後置の方は[0]が変数に格納されていることが分かります。前置は計算に使用する前に変数の値を増減しているので、値をインクリメントしてから代入しています。後置は、代入してからインクリメントしているので、0が出力されていることになります。intHensu1とintHensu2はどちらも1が格納されています。

前置と後置2

コメントを残す

サブコンテンツ

このページの先頭へ