JavaScript | レベル別練習問題:繰り返し(for / while / do…while)

JavaScript
スポンサーリンク

今回は「繰り返しの3種類(for / while / do…while)」を同じ問題で扱い、各ループのステップ実行解説を紹介します。
変数の状態を逐次追跡して、ループごとの動きを理解しやすくします。


練習問題:1~5の合計を計算する

1️⃣ for ループ版

let sumFor = 0;

for (let i = 1; i <= 5; i++) {
    sumFor += i;
}

console.log(sumFor);
JavaScript

出力

15

ステップ実行

isumFor (前)sumFor (後)実行内容
100 + 1 = 1sumFor に 1 を加算
211 + 2 = 3sumFor に 2 を加算
333 + 3 = 6sumFor に 3 を加算
466 + 4 = 10sumFor に 4 を加算
51010 + 5 = 15sumFor に 5 を加算

2️⃣ while ループ版

let sumWhile = 0;
let i = 1;

while (i <= 5) {
    sumWhile += i;
    i++;
}

console.log(sumWhile);
JavaScript

出力

15

ステップ実行

isumWhile (前)sumWhile (後)条件 i<=5実行内容
100 + 1 = 1truesumWhile に 1 を加算, i++ → 2
211 + 2 = 3truesumWhile に 2 を加算, i++ → 3
333 + 3 = 6truesumWhile に 3 を加算, i++ → 4
466 + 4 = 10truesumWhile に 4 を加算, i++ → 5
51010 + 5 = 15truesumWhile に 5 を加算, i++ → 6
615falseループ終了

3️⃣ do…while ループ版

let sumDoWhile = 0;
let j = 1;

do {
    sumDoWhile += j;
    j++;
} while (j <= 5);

console.log(sumDoWhile);
JavaScript

出力

15

ステップ実行

jsumDoWhile (前)sumDoWhile (後)条件 j<=5実行内容
100 + 1 = 1truesumDoWhile に 1 を加算, j++ → 2
211 + 2 = 3truesumDoWhile に 2 を加算, j++ → 3
333 + 3 = 6truesumDoWhile に 3 を加算, j++ → 4
466 + 4 = 10truesumDoWhile に 4 を加算, j++ → 5
51010 + 5 = 15truesumDoWhile に 5 を加算, j++ → 6
615falseループ終了

解説ポイント

  1. for ループ
    • 初期化・条件・更新を1行で書く
    • 繰り返し回数が明確なときに便利
  2. while ループ
    • 条件を先に評価
    • 条件が false の場合、1回もループしない可能性がある
  3. do…while ループ
    • まず1回必ず実行してから条件評価
    • 少なくとも1回処理したい場合に便利
  4. ステップ表のメリット
    • 各ループ変数と合計値の変化を追跡できる
    • 条件評価や変数更新の順序を可視化できる

💡 応用例:

  • 配列の合計・最大値・偶数のみの合計
  • ネストループで 2 次元配列の処理
  • 条件分岐と組み合わせてフィルタリング処理
タイトルとURLをコピーしました