条件分岐第15章 / 全26章
else / else if
この章で学ぶこと
if 文に else や else if を組み合わせて、「そうでなければ」「さもなくば〜なら」という処理を書く方法を学びましょう。
「そうでなければ」を表したい
前の章の if 文は「条件が true のとき」だけ動きました。「true のとき○○、false のとき××」の両方を書きたい場面があります。
else(そうでなければ)と else if(さもなくば〜なら)を使うと、複数の分岐が書けます。
else if で3段階の分岐を作る
点数が 75点 のとき。
text
1良java
1public class Main {2 public static void main(String[] args) {3 int score = 75;45 if (score >= 90) {6 System.out.println("秀");7 } else if (score >= 80) {8 System.out.println("優");9 } else if (score >= 70) {10 System.out.println("良");11 } else {12 System.out.println("可");13 }14 }15}- 条件は上から順番にチェックされ、最初に
trueになったブロックだけ実行される if (score >= 90)→ 「75は90以上か?」→false、次へelse if (score >= 80)→ 「75は80以上か?」→false、次へelse if (score >= 70)→ 「75は70以上か?」→true、「良」を表示して終了else→ いずれにも当てはまらないときの受け皿(今回は実行されない)
90以上? → No
80以上? → No
70以上? → Yes → 「良」を表示して終了
ポイント
else で「そうでなければ」、else if で「さもなくば〜なら」という処理が書けます。条件は上から順に確認されます。
よくあるミス
else if の条件の順番を間違える
「70以上」を「90以上」より前に書くと、90点でも「良」と判定されてしまいます。広い条件を上に書いてしまうと、それ以降の条件に到達しません。条件は大きい値から順に書くのが基本です。
まとめ
elseで「条件を満たさないとき」の処理を書くelse ifで3つ以上の条件を順番にチェックできる- 条件は上から順に確認され、最初に
trueになったブロックだけ実行される - 最後の
elseはどの条件にも当てはまらないときの受け皿
確認問題
else if を使う目的として正しいものはどれですか?