インクリメントとは何か?前置演算と後置演算の違いについても解説

2022年12月2日

インクリメントとは

インクリメント(increment)とは、英語で増大や増加の意味を表す単語であり、プログラミングとしては指定した変数を1つ増やすことを指します。反対に、指定した変数を1つ減らす場合はデクリメント(decrement)と呼びます。
高水準のプログラミング言語では、数値を加算する汎用的な対応とは別に、インクリメント専用の構文や演算子が用意されている場合もあり、JavaなどのC言語の記述方法を受け継ぐ多くの言語に共通する「++」演算子などが代表として挙げられます。

プログラミングによるインクリメントの方法(Javaでの事例)

Java言語にて変数を増加させる方法として、インクリメント演算子「++」が存在します。
使用例としては以下の通りです。

public class Main {
public static void main(String[] args) {
int i = 0;
	System.out.println("初期値:" + i);

	i++; // インクリメント演算子
	System.out.println("インクリメント:" + i);
 }
}

上記の例としては変数 i にインクリメント演算子を用いて1つ増加しています。「i++;」を分かりやすい代入式で表すと「i = i + 1;」もしくは「i += 1;」と置き換えることもできます。

上記のコードを実行すると以下のような結果が得られます。

初期値:0
インクリメント:1

前置演算と後置演算

インクリメントの方法には前置演算後置演算があります。
前置演算ではインクリメント演算子を変数の前に記述します。一方で、後置演算では、変数の後に記述します。

  • 前置演算:「++i;」
  • 後置演算:「i++;」

変数単体で演算を行う場合の結果としては、前置演算、後置演算のどちらも同じ結果として値を1つ増やします

前置演算と後置演算の相違点としては、インクリメントを行う順番が異なり、前置演算では先にインクリメントを行ってから他の処理を行うことに対し、後置演算では先に他の処理を行ってから最後にインクリメントを行う違いがあります。
実際にインクリメントを実行する際の挙動について、ソースコードを見ながら確認してみましょう。

前置演算

int i = 10;
int k;
k = ++i; // 「++i; の後に kに代入」
System.out.println(i); // 実行結果は「i = 11」
System.out.println(k); // 実行結果は「k = 11」

前置演算ではインクリメントを行った値(i)をkに代入するため、iとkの値は同じ値(11)になります。

後置演算

int i = 10;
int k;
k = i++; // 「kに代入した後にi++;」
System.out.println(i); // 実行結果は「i = 11」
System.out.println(k); // 実行結果は「k = 10」

後置演算ではkに代入した後にiをインクリメントするため、kの値は10、iの値は初期値からインクリメントされた11が結果として出力されます。

参考