JavaScript | レベル別練習問題:条件分岐(if / else / switch)

JavaScript
スポンサーリンク

条件分岐(if / else / switch)」をテーマに、基礎/中級/上級(応用)、各レベル5問ずつ、合計15問のオリジナル練習問題+解答+解説を作成しました。

基礎レベル(5問)

問題1

次のコードの出力は?

let age = 18;
if (age >= 20) {
    console.log("成人です");
} else {
    console.log("未成年です");
}
JavaScript

解答と解説

  • 解答:未成年です
  • 解説:age が 18 なので、age >= 20 は false。else のブロックが実行されます。

問題2

次のコードでコンソールに表示されるのは何ですか?

let score = 75;
if (score >= 80) {
    console.log("合格(A)");
} else if (score >= 60) {
    console.log("合格(B)");
} else {
    console.log("不合格");
}
JavaScript

解答と解説

  • 解答:合格(B)
  • 解説:75 は 80 未満で 60 以上なので、else if (score >= 60) が true になります。

問題3

次のコードの出力は?

let flag = true;
if (flag) {
    console.log("OK");
} else {
    console.log("NG");
}
JavaScript

解答と解説

  • 解答:OK
  • 解説:flag が true のため、if のブロックが実行されます。

問題4

次のコードの出力は?

let num = 0;
if (num) {
    console.log("true");
} else {
    console.log("false");
}
JavaScript

解答と解説

  • 解答:false
  • 解説:0 は JavaScript では false とみなされます。よって else ブロックが実行されます。

問題5

次のコードの出力は?

let str = "hello";
if (str === "hello") {
    console.log("こんにちは");
}
JavaScript

解答と解説

  • 解答:こんにちは
  • 解説:=== は型も値も一致するかをチェックします。str は "hello" なので条件は true です。

中級レベル(5問)

問題1

次のコードの出力は?

let num = 7;
if (num % 2 === 0) {
    console.log("偶数");
} else {
    console.log("奇数");
}
JavaScript

解答と解説

  • 解答:奇数
  • 解説:7 % 2 = 1 なので、else が実行されます。

問題2

次のコードの出力は?

let hour = 15;
if (hour < 12) {
    console.log("午前");
} else if (hour < 18) {
    console.log("午後");
} else {
    console.log("夜");
}
JavaScript

解答と解説

  • 解答:午後
  • 解説:15 は 12 以上 18 未満なので、else if ブロックが実行されます。

問題3

次のコードを完成させて、grade が 90 以上なら “A”、80 以上なら “B”、70 以上なら “C”、それ以外は “D” を出力してください。

let grade = 85;
if (/* 条件1 */) {
    console.log("A");
} else if (/* 条件2 */) {
    console.log("B");
} else if (/* 条件3 */) {
    console.log("C");
} else {
    console.log("D");
}
JavaScript

解答例と解説

if (grade >= 90) {
    console.log("A");
} else if (grade >= 80) {
    console.log("B");
} else if (grade >= 70) {
    console.log("C");
} else {
    console.log("D");
}
JavaScript
  • 解説:条件は上から順にチェックされます。85 は 90 未満で 80 以上なので “B” が出力されます。

問題4

次のコードの出力は?

let x = 10;
let y = 20;
if (x > 5 && y < 30) {
    console.log("条件を満たす");
}
JavaScript

解答と解説

  • 解答:条件を満たす
  • 解説:&& は AND 条件。x > 5 (true) かつ y < 30 (true) なので if のブロックが実行されます。

問題5

次のコードの出力は?

let a = 5;
let b = 10;
if (a > 0 || b < 5) {
    console.log("OK");
}
JavaScript

解答と解説

  • 解答:OK
  • 解説:|| は OR 条件。a > 0 が true なのでブロックが実行されます。

上級/応用レベル(5問)

問題1

次のコードを switch 文で書き換え、曜日の数値 (0〜6) に応じて「日曜日〜土曜日」を出力してください。

let day = 3; // 水曜日
if (day === 0) console.log("日曜日");
else if (day === 1) console.log("月曜日");
else if (day === 2) console.log("火曜日");
else if (day === 3) console.log("水曜日");
else if (day === 4) console.log("木曜日");
else if (day === 5) console.log("金曜日");
else if (day === 6) console.log("土曜日");
JavaScript

解答例と解説

switch(day) {
    case 0: console.log("日曜日"); break;
    case 1: console.log("月曜日"); break;
    case 2: console.log("火曜日"); break;
    case 3: console.log("水曜日"); break;
    case 4: console.log("木曜日"); break;
    case 5: console.log("金曜日"); break;
    case 6: console.log("土曜日"); break;
}
JavaScript
  • 解説:switch 文は複数条件の判定を簡潔に書けます。break がないと次の case も実行されます。

問題2

次のコードを完成させ、3つの変数の中で最大値を判定して出力してください。

let a = 10;
let b = 25;
let c = 15;
let max;

if (/* 条件1 */) max = a;
else if (/* 条件2 */) max = b;
else max = c;

console.log(max);
JavaScript

解答例と解説

if (a >= b && a >= c) max = a;
else if (b >= a && b >= c) max = b;
else max = c;
JavaScript
  • 解説:&& 条件を組み合わせることで最大値を判定できます。

問題3

次のコードで、0〜100 の点数が入力され、範囲外なら “無効な点数” と表示されるようにしてください。

let score = 120;

if (/* 条件 */) {
    console.log("無効な点数");
} else {
    console.log("有効な点数");
}
JavaScript

解答例と解説

if (score < 0 || score > 100) {
    console.log("無効な点数");
} else {
    console.log("有効な点数");
}
JavaScript
  • 解説:範囲外チェックに OR 条件を使います。

問題4

次のコードを完成させて、数字が 0 の場合は “ゼロ”、正の数は “正の数”、負の数は “負の数” と表示してください。

let num = -7;
let result;

if (/* 条件1 */) result = "ゼロ";
else if (/* 条件2 */) result = "正の数";
else result = "負の数";

console.log(result);
JavaScript

解答例と解説

if (num === 0) result = "ゼロ";
else if (num > 0) result = "正の数";
else result = "負の数";
JavaScript
  • 解説:条件は順番にチェック。0、正、負 の順で判定します。

問題5

次のコードで、ユーザーの年齢と保護者の同意フラグに応じて入場可否を判定してください。

let age = 16;
let guardianConsent = true;
let canEnter;

if (/* 条件 */) canEnter = true;
else canEnter = false;

console.log(canEnter);
JavaScript

解答例と解説

if (age >= 18 || guardianConsent) canEnter = true;
else canEnter = false;
JavaScript
  • 解説:18歳以上または保護者の同意があれば入場可能。|| 条件を使います。
タイトルとURLをコピーしました