Java の i++ 演算子と++i 演算子の違い

Mohammad Irfan 2023年10月12日
  1. Java のプリインクリメント(++i)演算子
  2. Java のプリインクリメント(++i)とポストインクリメント(++i)演算子
Java の i++ 演算子と++i 演算子の違い

このチュートリアルでは、Java のプリインクリメント演算子++i とポストインクリメント演算子++i の違いを紹介します。

Java では、++i および++i 演算子はインクリメント演算子と呼ばれます。++i はプリインクリメント演算子と呼ばれ、++i 演算子はポストインクリメント演算子と呼ばれます。名前が示すように、ポストインクリメント演算子は使用後に変数をインクリメントし、プリインクリメント演算子は使用される前に変数をインクリメントします。これらも単項演算子です。

これらの演算子を使用するには、ループ条件変数をインクリメントするためのループ内で、Java のリストのすべての要素を反復処理するなど、いくつかの方法があります。たとえば、for ループ、for-each ループ、リストまたはストリームを使用した forEach() メソッドなどです。いくつかの例を見てみましょう。

Java のプリインクリメント(++i)演算子

インクリメント演算子は主に、ループの反復を自動化するためにループで使用されます。この例では、pre-increment 演算子を使用して、ループの各反復で変数を 1 ずつインクリメントします。これは単純な例であり、両方のインクリメント演算子の適切な違いを説明していませんが、ループでこれをどのように使用できるかについては理解できます。以下の例を参照してください。

public class SimpleTesting {
  public static void main(String[] args) {
    int[] arr = {2, 5, 6, 9, 4};
    for (int i = 0; i < arr.length; ++i) {
      System.out.print(arr[i] + " ");
    }
  }
}

出力:

2 5 6 9 4

Java のプリインクリメント(++i)とポストインクリメント(++i)演算子

この例では、プリインクリメント演算子とポストインクリメント演算子の違いを明確に確認できます。変数 a を使用し、それにポストインクリメントを適用すると、一度使用するとインクリメントするため、保持しているのと同じ値が出力されることがわかります。そして、使用される前に増分するため、増分された値を出力する変数 b を作成します。以下の例を参照してください。

public class SimpleTesting {
  public static void main(String[] args) {
    int a = 1;
    System.out.println(a++);
    int b = 1;
    System.out.println(++b);
  }
}

出力:

1
2

関連記事 - Java Operator