Javaの繰り返し:for文

特定の処理を繰り返し行いたい場合には、for 文を用いることができます。ここでは、for文の基本的な使い方について説明します。

for 文の使い方

たとえば、以下のように1〜9の値を加算し合計を求めるプログラムがあるとします。

 class Sample {
  public static void main(String args[]) {
    int sum = 0;
    sum = sum + 1;
    sum = sum + 2;
    sum = sum + 3;
    sum = sum + 4;
    sum = sum + 5;
    sum = sum + 6;
    sum = sum + 7;
    sum = sum + 8;
    sum = sum + 9;
    System.out.println(sum); // 45    
  }
}

このプログラムでは、最終的に sum の値は 45 となり、その結果が表示されます。このような繰り返し同じ処理を行う場合は、for 文を使うことでより簡潔にコードを記述することができます。

for 文の構文は以下の通りです。

for (初期化式; 条件式; 増減式) {
  繰り返し実行したい処理
}

for 文は以下の順序で処理を行います。

  1. 初期化式で記述した処理を実行します。
  2. 条件式が評価され、真であれば括弧 {} 内の処理を実行し、偽であれば終了します。
  3. 増減式の処理を実行します。

1の処理は初回のみ実行され、あとは2、3が繰り返し実行されます。

具体例を用いて説明します。以下は先ほどのプログラムを for 文を用いて記述した例です。

 class Sample {
  public static void main(String args[]) {
    int sum = 0;
    for (int i = 1; i < 10; i++) {
      sum = sum + i;
    }

    System.out.println(sum); // 45
  }
}

このプログラムでは、まず、for 文の初期式で i を 1 に設定しています。次に、条件式が評価され i = 1 のときは i < 10 は真なので、{} 内の処理が実行され、sum = sum + 1 が実行されます。そして、増減式の i++ が実行され、i に 1 が足され i は 2 になります。

これらの処理が実行されたら、もう1度条件式が評価され、i = 2 のときは i < 10 は真なので、sum = sum + 2 が実行されます。そして、増減式の i++ が実行され、i に 1 が足され i は 3 になります。

さらに条件式が評価され繰り返し処理を実行していきます。最終的に i が 10 になったとき i < 10 は偽になるので、for 文から抜け出し、結果を表示して処理が終了します。

for 文を配列を適用する

for 文は配列と相性が良く、各要素に対して同じ処理を実行したいときに非常に便利です。

以下は、配列の全要素の合計を求める例です。

 class Sample {
  public static void main(String args[]) {
    int sum = 0;
    int numbers[] = { 2, 2, 4, 6, 1 };
    for (int i = 0; i < numbers.length; i++) {
      sum = sum + numbers[i];
    }

    System.out.println(sum); // 15
  }
}

numbers.length で配列の要素数を取得できます。すなわち、この for 文の条件式は i < 5 になります。配列の添字(インデックス)に増減値を設定することで、配列の各要素の値を取得することができます。