特定の処理を繰り返し行いたい場合には、for 文を用いることができます。ここでは、for文の基本的な使い方について説明します。
for 文の使い方
たとえば、以下のように1〜9の値を加算し合計を求めるプログラムがあるとします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
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 文の構文は以下の通りです。
1 2 3 |
for (初期化式; 条件式; 増減式) { 繰り返し実行したい処理 } |
for 文は以下の順序で処理を行います。
- 初期化式で記述した処理を実行します。
- 条件式が評価され、真であれば括弧 {} 内の処理を実行し、偽であれば終了します。
- 増減式の処理を実行します。
1の処理は初回のみ実行され、あとは2、3が繰り返し実行されます。
具体例を用いて説明します。以下は先ほどのプログラムを for 文を用いて記述した例です。
1 2 3 4 5 6 7 8 9 10 |
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 文は配列と相性が良く、各要素に対して同じ処理を実行したいときに非常に便利です。
以下は、配列の全要素の合計を求める例です。
1 2 3 4 5 6 7 8 9 10 11 |
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 になります。配列の添字(インデックス)に増減値を設定することで、配列の各要素の値を取得することができます。