【Java】繰り返し構文(for)
Javaのfor文は、特定の条件下で同じコードブロックを複数回実行するために使用される繰り返し構造です。今回は基本的な書き方等をメモしていきます。
for文の基本形
for文
の基本形は下記のようになります。
for (初期化式; 条件式; 更新式) {
// 繰り返し実行したいコード
}
各要素の解説
-
初期化式
初期化式は、ループの最初に1回だけ実行される部分です。通常、ループカウンターの初期化が行われます。例えば、int i = 0
のように変数を初期化します。 -
条件式
条件式は、各繰り返しの前に評価され、結果がtrue
である限りループが続きます。条件がfalse
になると、ループを終了します。例えば、i < 10
のように指定された条件が満たされる限りループが続きます。 -
更新式
更新式は、各繰り返しの後に実行されます。通常、変数の増減や更新が行われます。例えば、i++
はiを1ずつ増加させる操作です。 -
繰り返し実行したいコード
中括弧 {} 内には、繰り返し実行したいコードが含まれます。この部分が条件式がfalse
になるまで繰り返し実行されます。
例として「こんにちは」を10回繰り返す式は下記のようになります。
for (int i = 0; i < 10; i++){
System.out.println("こんにちは");
}
上記がfor文の基本形で10回繰り返す例
になります。
ループごとに i の値が増加し、最終的には i が10になると条件が満たされず、ループが終了します。
複雑なfor文のバリエーション
〇回だけを繰り返す以外のバリエーションの例をいくつかメモしておきます。
for (int i = 1; i < 10; i++)
// ループ変数を1からスタートする
for (int i = 0; i < 10; i += 2)
// ループ変数を2ずつ増やす
for (int i = 10; i > 0; i--)
// ループ変数を10から1ずつ1まで減らしていく
for (; i < 10; 1++)
// ループ変数を初期化しない
for (int i = 0; i < 10;)
// 繰り返し時の処理を行わない
for文のネスト
for文をネストするとは、一つのforループ内に別のforループを含めることを指します。これは、多次元のデータ構造を操作する、あるいは複雑なパターンを生成する場合などでよく使用されます。
ネストされたfor文の基本形の例
例として、下記はネストされたfor文を使用して九九の表を表示するコードになります。
for (int i = 1; i < 10; i++) { // iは1~9まで繰り返し
for (int j = 1; j < 10; j++) { // jも1~9まで繰り返し
System.out.print(i * j); // 掛け算の結果を出力
System.out.print(" "); // 空白を出力
}
System.out.println(""); // 改行を出力
}
外側のforループでi
を1から9まで変化させ、内側のforループでj
を1から9まで変化させ、i * j
の結果と空白を出力します。内側のループが1行終わるごとに、外側のループで改行を出力して、次の行に移ります。
結果は下記のようになります。
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
:
参考
スッキリわかるJava入門第4版
Discussion