ゼロから学ぶJava
トップ/条件分岐
条件分岐

else / else if

5分で読めます15

この章で学ぶこと

if 文に elseelse if を組み合わせて、「そうでなければ」「さもなくば〜なら」という処理を書く方法を学びましょう。

「そうでなければ」を表すelse

if だけだと「条件を満たすとき」しか書けません。「条件を満たさないとき」の処理も書きたいときは else を使います。

java
1public class Main {
2 public static void main(String[] args) {
3 int score = 65;
4
5 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;
4
5 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 を使う目的として正しいものはどれですか?