else / else if
約5分で読めます第15章
この章で学ぶこと
if 文に else や else if を組み合わせて、「そうでなければ」「さもなくば〜なら」という処理を書く方法を学びましょう。
「そうでなければ」を表すelse
if だけだと「条件を満たすとき」しか書けません。「条件を満たさないとき」の処理も書きたいときは else を使います。
java
1public class Main {2 public static void main(String[] args) {3 int score = 65;45 if (score >= 80) {6 System.out.println("合格です!");7 } else {8 System.out.println("不合格です");9 }10 }11}score が65なので、if の条件(80以上)は false になり、else の中が実行されます。「不合格です」と表示されます。
3つ以上の条件を使うelse if
「A点以上なら秀、B点以上なら優、そうでなければ可」のように3段階以上の条件を書きたいときは else if を使います。
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 になった部分だけが実行されます。score が75なので「良」が表示されます。
条件は上から順番に確認される
else if が複数あっても、実行されるのは最初に条件が true になったブロックだけです。それ以降の条件はチェックされません。
90以上? → No
80以上? → No
70以上? → Yes → 「良」を表示して終了
ポイント
else で「そうでなければ」、else if で「さもなくば〜なら」という処理が書けます。条件は上から順に確認されます。
まとめ
elseで「条件を満たさないとき」の処理を書くelse ifで3つ以上の条件を順番にチェックできる- 条件は上から順に確認され、最初に
trueになったブロックだけ実行される - 最後の
elseはどの条件にも当てはまらないときの受け皿になる
確認問題
else if を使う目的として正しいものはどれですか?