概要

if だけだと「条件が真のときの処理」しか書けない。だが現実のロジックの多くは 二者択一 だ。合格か不合格か、有効か無効か、奇数か偶数か、ログイン済みか未ログインか — 「条件を満たさなかったときも別の処理をしたい」場面が圧倒的に多い。これを表現するのが if / else で、else ブロックは「if の条件が偽だったときに必ず通る道」になる。

3 つ以上の分岐が必要になったら elseif を使う。if ... elseif ... elseif ... else上から順に条件を判定し、最初に真になった節だけ を実行する。たとえば点数で A / B / C / D を判定するときは、上から >= 90 >= 80 >= 70 と書いていけば、>= 90 に当てはまった瞬間に下の節は見にいかない。この「上から評価して止まる」性質を理解すると、条件の書く順番が大事だと分かる (>= 70 を一番上に書いてしまうと、満点でも C 判定になってしまう)。

ネストした if を何重にも書くより、elseif で横並びにする方が 読みやすく・バグも減る ので、3 分岐以上はまず elseif を検討するのが基本。さらに分岐数が多くて値の等価比較なら、後で扱う ch05-switch や PHP 8 の match 式の出番だ。この章では if / else の基本形と elseif を体に入れる。

学習目標

ドリル

no 内容
01 入力された整数が偶数か奇数かを出力
02 60 以上なら合格、それ以外なら不合格
03 点数で A / B / C / D を判定

演習: ドリル 01 — 偶数か奇数か

問題

標準入力で整数を 1 つ受け取り、偶数 なら 偶数奇数 なら 奇数 と出力してください。

入力例:

7

期待される出力:

奇数

ヒント

演習: ドリル 02 — 合格か不合格か

問題

標準入力で点数 (0〜100 の整数) を 1 つ受け取り、60 以上 なら 合格60 未満 なら 不合格 と出力してください。

入力例:

55

期待される出力:

不合格

ヒント

演習: ドリル 03 — 点数で評価を判定

問題

標準入力で点数 (0〜100 の整数) を 1 つ受け取り、以下のルールで評価を出力してください。

点数 評価
90 以上 A
80 以上 90 未満 B
70 以上 80 未満 C
それ以外 (70 未満) D

入力例:

85

期待される出力:

B

ヒント

この章を AI に聞く

  1. 「ch02 — if / else」のつまずきやすいポイントを、初学者向けに3つ教えてください

    💬 ChatGPT 📘 Claude ✨ Gemini

  2. 「ch02 — if / else」について、自分の手で試せる練習問題を3つ出してください (難易度を上げながら)

    💬 ChatGPT 📘 Claude ✨ Gemini

  3. 「ch02 — if / else」を学んだ後、次に学ぶと良いトピックは何ですか?理由も教えてください

    💬 ChatGPT 📘 Claude ✨ Gemini

🎉 受講お疲れさまでした!

ch02 — if / else」を読み終えました。
学んだことを誰かに教えると、もっと記憶に残ります。

X で共有 Hatena LINE