では、if文の理解を深めるための演習問題(難易度別)を用意しました。
初心者が段階的にステップアップできるように、初級 → 中級 → 上級 の3段階に分けています。
それぞれに「解答例」+「解説」つきです。
初級(if文の基本)
まずは「条件によって動作が変わる」という感覚に慣れるステージです。
🧩 問題1:偶数・奇数を判定
変数 num に数値を入れて、
- 偶数なら「偶数です」
- 奇数なら「奇数です」
と表示してください。
ヒント:
偶数かどうかは num % 2 === 0 で調べられます。
// 解答例
let num = 7;
if (num % 2 === 0) {
console.log('偶数です');
} else {
console.log('奇数です');
}
JavaScript📝 解説% は「割ったあまり」を求める演算子。
7 ÷ 2 のあまりは 1 なので「奇数」と判断されます。
🧩 問題2:年齢で成人判定
age が 20 以上なら「成人です」、それ以外なら「未成年です」と表示してください。
let age = 18;
if (age >= 20) {
console.log('成人です');
} else {
console.log('未成年です');
}
JavaScript📝 ポイント
比較演算子 >= は「以上」の意味です。
🧩 問題3:点数によって合否判定
score が 70 以上なら「合格」、それ以外なら「不合格」と表示してください。
let score = 65;
if (score >= 70) {
console.log('合格');
} else {
console.log('不合格');
}
JavaScript中級(else if で条件分岐を増やす)
ここでは「条件が複数あるとき」の書き方を練習します。
🧩 問題4:気温によるメッセージ
temp(気温)によって次のように表示してください。
- 30℃以上 → 「暑い!」
- 20〜29℃ → 「ちょうどいい」
- それ未満 → 「寒い…」
let temp = 22;
if (temp >= 30) {
console.log('暑い!');
} else if (temp >= 20) {
console.log('ちょうどいい');
} else {
console.log('寒い…');
}
JavaScript📝 ポイント
上から順に条件をチェックするため、「30℃以上」を先に書くことが大事。
🧩 問題5:成績ランク表示
score によって次のように表示してください。
- 90点以上 → 「A」
- 80点以上 → 「B」
- 70点以上 → 「C」
- それ以外 → 「F」
let score = 75;
if (score >= 90) {
console.log('A');
} else if (score >= 80) {
console.log('B');
} else if (score >= 70) {
console.log('C');
} else {
console.log('F');
}
JavaScript🧩 問題6:お店の営業時間
変数 hour に現在の時刻(0〜23)を入れて、
- 10〜19時 → 「営業中」
- それ以外 → 「営業時間外」
と表示してください。
let hour = 21;
if (hour >= 10 && hour < 19) {
console.log('営業中');
} else {
console.log('営業時間外');
}
JavaScript📝 ポイント&& は「かつ(AND)」の意味です。
10時以上 かつ 19時未満、のときに true になります。
上級(複合条件・ネスト・入力チェック)
少し考える要素が入ります。実際のアプリでもよく使われるパターンです。
🧩 問題7:ログインチェック
2つの条件を組み合わせてください。
変数:
let isLoggedIn = true;
let isAdmin = false;
JavaScript- ログインしていて管理者 → 「管理者ページへようこそ」
- ログインしているが一般ユーザー → 「ようこそ!」
- ログインしていない → 「ログインしてください」
if (isLoggedIn && isAdmin) {
console.log('管理者ページへようこそ');
} else if (isLoggedIn) {
console.log('ようこそ!');
} else {
console.log('ログインしてください');
}
JavaScript📝 解説&& と else if を組み合わせて条件を細かく分けています。
🧩 問題8:入力チェック
変数 name にユーザーの入力が入っています。
- 空文字(
'')またはnull、undefinedの場合 → 「名前を入力してください」 - それ以外 → 「こんにちは、○○さん」
let name = '';
if (name === '' || name === null || name === undefined) {
console.log('名前を入力してください');
} else {
console.log(`こんにちは、${name}さん`);
}
JavaScript📝 ポイント|| は「または(OR)」です。
どれか1つでも当てはまれば true になります。
🧩 問題9:三項演算子で短く書く
age が 20 以上なら「お酒が飲めます」、そうでなければ「未成年です」と表示してください。
ただし if 文を使わず、三項演算子で書いてください。
let age = 19;
let message = age >= 20 ? 'お酒が飲めます' : '未成年です';
console.log(message);
JavaScript🧩 問題10:ネストした条件
数値 num が
- 正の数 → 「正の数です」
- さらに偶数なら「偶数です」
- 奇数なら「奇数です」
- 0 → 「0です」
- 負の数 → 「負の数です」
let num = -5;
if (num > 0) {
console.log('正の数です');
if (num % 2 === 0) {
console.log('偶数です');
} else {
console.log('奇数です');
}
} else if (num === 0) {
console.log('0です');
} else {
console.log('負の数です');
}
JavaScript📝 ポイント
if の中に if を入れる「ネスト(入れ子)」構造の練習です。
まとめ
| レベル | 学ぶポイント |
|---|---|
| 初級 | if / else の基本構文を理解 |
| 中級 | else if / 複合条件 / 論理演算子 |
| 上級 | ネスト・入力チェック・三項演算子 |
