| English | 意味 |
|---|---|
| for loop/fɔː luːp/ | forループ |
カウンター内蔵ループ
- for ループは3つの要素を1行にまとめる:
for (int i = 0; i < 5; i++) { ... }- 初期化 (
int i = 0)、条件 (i < 5)、更新 (i++)。 - 反復回数が既知の場合に
forを使用する。
3つの要素の順序
- 初期化はループ開始前に一度だけ実行される。
- 条件は各反復前にチェックされる(
whileと同じ)。 - 更新は各反復後に実行され、その後条件が再チェックされる。
- したがってフローは: init → (test → body → update) → (test → body → update) → …
for と while は使い分け可能
- いかなる
forループもwhileループに書き換えられ、その逆も然り。 for (int i=0; i<5; i++) {B}はint i=0; while (i<5) {B; i++;}に等しいです。- カウンターの設定、テスト、変更が一緒にある場合は
forがすっきりする。 - ループの意図が最も明確になる方を選択せよ。
既知回数のカウント
for (int i = 0; i < n; i++)は本体をちょうど**n**回実行する(i=0からn-1)。- 境界を変更して異なるカウントにする:
i = 1; i <= nもn回実行する。 - 境界に注意:
<は一つ手前で停止し、<=は末尾を含める。 - これは「
n回何かを行う」ための標準パターンである。
ループの境界に注意 — 1つズレるとカウントが変わる。 for (int i = 0; i < n; i++) はn回実行する(i は0 からn-1まで);i <= n に切り替えるとn+1回実行され、配列の範囲を超えやすい。i の最初と最後の値をトレースして、for ループを信頼する前にカウントを確認せよ。
印刷 0,1,2,3,4:
for (int i = 0; i < 5; i++) { System.out.println(i); }iは0で始め、i < 5でwhileし、i++で各反復を進める。0 1 2 3 4を出力(5個の値);i = 5で条件が満たさなくなり → 停止。
for ループは初期化(一度)、条件(各反復前にチェック)、更新(各反復後)を組み合わせる:for (int i = 0; i < n; i++) は本体を**n**回実行する。while ループと互換的。境界に注意 — < vs <= でカウントが1つ変わる。
0から4までカウントするforループ
iは0..4(5回)で実行され、i=5のとき条件が偽になります。
forループのヘッダーには、順に以下の3つの部分があります...
難易度 1/5 · 100 コイン + 今日初回完了時に小ボーナス付与
for (init; condition; update).
for (int i = 0; i < 5; i++) のボディは何回実行されますか?
難易度 2/5 · 140 コイン + 今日初回完了時に小ボーナス付与
iは0,1,2,3,4 → 5回実行されます。
forループの初期化部分は...
難易度 1/5 · 100 コイン + 今日初回完了時に小ボーナス付与
Init は一度だけ実行され、条件は各反復ごとにチェックされ、更新処理は各反復後に実行されます。
任意のforループは等価なwhileループに書き換えることができます。
難易度 1/5 · 100 コイン + 今日初回完了時に小ボーナス付与
forとwhileは交換可能である。
for (int i = 1; i <= 5; i++) は何回実行されますか?
難易度 2/5 · 140 コイン + 今日初回完了時に小ボーナス付与
iは1..5(両端を含む)→ 5回実行されます。