🌀

【Java】繰り返し構文(for)

2024/01/14に公開

Javaのfor文は、特定の条件下で同じコードブロックを複数回実行するために使用される繰り返し構造です。今回は基本的な書き方等をメモしていきます。

for文の基本形

for文の基本形は下記のようになります。

for (初期化式; 条件式; 更新式) {
    // 繰り返し実行したいコード
}
各要素の解説
  1. 初期化式
    初期化式は、ループの最初に1回だけ実行される部分です。通常、ループカウンターの初期化が行われます。例えば、int i = 0のように変数を初期化します。

  2. 条件式
    条件式は、各繰り返しの前に評価され、結果がtrueである限りループが続きます。条件がfalseになると、ループを終了します。例えば、i < 10のように指定された条件が満たされる限りループが続きます。

  3. 更新式
    更新式は、各繰り返しの後に実行されます。通常、変数の増減や更新が行われます。例えば、i++はiを1ずつ増加させる操作です。

  4. 繰り返し実行したいコード
    中括弧 {} 内には、繰り返し実行したいコードが含まれます。この部分が条件式が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