本文へスキップ
BecomeCoder

Java文法コース · 第4章 制御構文 ― 処理の流れを分岐・繰り返す · レッスン17

for ― 決まった回数を繰り返す

ブラウザで完結

導入

「初期値・条件・更新」をひとまとめに書けるのが for ループです。繰り返す回数があらかじめ決まっている処理では、while よりも for のほうが簡潔に書けます。

説明

for (初期化; 条件; 更新) { ... } の形で書きます。

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

        for (int i = 5; i >= 1; i--) {
            System.out.println(i);
        }
    }
}
  • int i = 1(初期化)… ループが始まる前に一度だけ実行されます。
  • i <= 10(条件)… ループを続けるかどうかの判定。ここが false になったらループを抜けます。
  • i++(更新)… ループの本体を1回実行するたびに実行されます。
  • for (int i = 5; i >= 1; i--) のように、更新を i-- にすれば逆向きに数えることもできます。

for の3つの部分(初期化・条件・更新)を1か所にまとめて書けるため、「何回繰り返すか」がひと目でわかりやすいのが利点です。

やってみよう

下のエディタで i <= 10 の範囲を変えたり、i++i += 2(1つ飛ばし)に変えたりして、合計や表示される数がどう変わるか確かめましょう。

演習

for を使って1〜100の中の偶数だけを合計して表示してください(結果は 2550)。

ヒント1を見る

for (int i = 1; i <= 100; i++) { if (i % 2 == 0) { ... } } のように、ループの中で偶数かどうかを判定します。

ヒント2を見る

偶数のときだけ sum += i; します。最後に System.out.println(sum);

実際に動かしてみよう

下のエディタにJavaを書いて「実行」を押すと、学習用シミュレータが System.out.println の出力を表示します(本物のJVMではなく、教材の範囲を再現した軽量エンジンです)。クラス・継承・コレクションなども動きます。Scanner で入力を読む例は「標準入力」欄に値を入れてください。本文の例を書き換えて動かしてみましょう(Stream・ラムダ・スレッド・ファイル入出力など一部の機能は対象外です)。

Java — ブラウザ内で実行(学習用シミュレータ)

Javaの教材サブセットを動かす学習用シミュレータを読み込みます(本物のJVMではなく、動きを再現した軽量な自作エンジンです)。
スクロールして表示された時点でも自動で読み込まれます。