Java else ifの書き方|複数条件の順番とif文との違いを解説

Javaのelse ifは、複数の条件を上から順番に判定し、最初にtrueになった処理だけを実行する書き方です。点数のランク分け、年齢による料金判定、入力値によるメッセージ切り替えのように、候補から1つを選びたい場面で使います。
この記事では、if・else if・elseの基本構文、条件を書く順番、複数のif文との違いを、点数ランク分けの例で整理します。
Schooの「Java入門 初級【2026年版】」第3回「条件分岐・論理演算子」を学んだ後の補足としても読めます。Schooを受講していない方でも、Javaの条件分岐を学び始めた段階で理解できる内容です。
Schoo コースページ:Java入門 初級【2026年版】
Javaのelse ifとは
else ifは、最初のif文の条件を満たさなかったときに、次の条件を調べるための書き方です。条件は上から順番に判定され、最初にtrueになった処理だけが実行されます。
検索で「Java else if 書き方」や「Java 複数条件」を調べている場合は、まずifで最初の条件を書き、追加条件をelse ifでつなぎ、最後にどれにも当てはまらない処理をelseで受け取る流れを押さえると理解しやすくなります。
例えば、点数をA・B・Cのいずれか1つに分ける処理を考えます。85点は「80点以上」と「70点以上」の両方に当てはまりますが、成績として表示したいのはBだけです。そこで、基準の高い条件から順番に並べます。
Java else ifの基本構文
最初はifで始めます。追加の条件をelse ifでつなぎ、どの条件も満たさなかった場合の処理を最後のelseに書きます。
ファイル名: ScoreCheck.java
public class ScoreCheck {
public static void main(String[] args) {
int score = 85;
if (score >= 90) {
System.out.println("Aランク");
} else if (score >= 80) {
System.out.println("Bランク");
} else if (score >= 70) {
System.out.println("Cランク");
} else {
System.out.println("再挑戦");
}
}
}
実行結果
Bランク
85は90以上ではないため、最初の条件はfalseです。次の「80以上」はtrueなのでBランクを表示し、それより下の条件は判定しません。
上から順番に判定する流れ
score >= 90を判定するfalseなら次のscore >= 80へ進むtrueになった処理を実行する- 残りの
else ifとelseは調べずに分岐を抜ける
else ifは、すべての条件を毎回調べる仕組みではありません。「まだどの条件にも当てはまっていない場合だけ次へ進む」と考えると、処理の流れを追いやすくなります。
点数を変えて判定順序を確かめる
scoreを変更すると、各条件をどの順番で調べ、どこで判定を終えるかがすぐに更新されます。
条件は基準の高い順に並べる
「90点以上」「80点以上」「70点以上」のように条件の範囲が重なる場合は、より限定された高い基準から並べます。順番を逆にすると、意図した判定に到達できません。
間違った順番の例: ScoreCheck.java
public class ScoreCheck {
public static void main(String[] args) {
int score = 95;
if (score >= 70) {
System.out.println("Cランク");
} else if (score >= 80) {
System.out.println("Bランク");
} else if (score >= 90) {
System.out.println("Aランク");
}
}
}
実行結果
Cランク
95は最初の「70点以上」を満たします。そこでCランクを表示して分岐を抜けるため、その下にあるAランクの条件まで進みません。Javaが点数に最も合う条件を探してくれるわけではなく、プログラムに書かれた順番で判定します。
複数のif文との違い
else ifでつながった条件は、最初に成立した1つだけを実行します。一方、独立したif文は、それぞれを別々に判定します。
ファイル名: ScoreCheck.java
public class ScoreCheck {
public static void main(String[] args) {
int score = 95;
if (score >= 90) {
System.out.println("Aランク");
}
if (score >= 80) {
System.out.println("80点以上");
}
if (score >= 70) {
System.out.println("70点以上");
}
}
}
実行結果
Aランク 80点以上 70点以上
複数の条件をすべて確認したい場合は独立したif文を使えます。成績のように候補から1つだけを選びたい場合は、ifとelse ifをつなげます。
else ifでよくある間違い
条件の広いものを先に書く
「70点以上」を先に書くと、80点や90点もそこで成立します。範囲が重なる条件では、どの条件が先に成立するかを確認します。
elseに条件を書く
elseには条件を書きません。条件を追加したい場合はelse if (条件)と書き、どの条件にも当てはまらない場合だけをelseで受け取ります。
すべての条件が判定されると思う
最初にtrueになったあとの条件は判定されません。複数の処理を実行したいのか、候補から1つを選びたいのかを先に決めましょう。
Java else ifでよくある疑問
else ifとifを複数書く違いは?
else ifは、最初に成立した条件の処理だけを実行します。独立したif文を複数書くと、それぞれの条件を別々に判定するため、複数の処理が実行されることがあります。
else ifの順番はなぜ重要?
条件は上から順番に判定されるためです。たとえば「70点以上」を先に書くと、80点や90点もそこで成立してしまい、下にある条件まで進みません。範囲が重なる場合は、より限定された条件から書きます。
switch文とはどう使い分ける?
点数が80以上のような範囲判定にはelse ifが向いています。メニュー番号が1、2、3のどれかのように、決まった値との一致を見る場合はswitch文も候補になります。詳しくは、Java switch文の書き方で確認できます。
自分で試す練習
- 最初のコードのscoreを90、89、80、79、70、69に変える
- 条件を低い順番に並べ、90点以上を入力したときの結果を確認する
else ifを独立したif文に変え、表示される行数を比べる
確認問題
- 購入金額
priceが10000以上なら「10%割引」、5000以上なら「5%割引」、それ以外は「割引なし」と表示してください。条件を適切な順番で書きましょう。 scoreが95のとき、「60点以上」「80点以上」「90点以上」の順に条件を書くと何が表示されますか。理由と正しい順番も考えてください。- 気温
temperatureが30以上なら「暑い」、25以上なら「暖かい」、それ以外は「過ごしやすい」と表示してください。
演習後の確認:こちらのページを使って、自分で考えた条件の順番を見直せます。先にコードと理由を書いてから確認してください。
あわせて読みたい関連記事
- Javaのif文とは?条件分岐を初心者向けに解説
- Javaの条件式の作り方|「以上・未満・かつ・または」をプログラムに変換する
- Java switch文の書き方|case・break・defaultとif文との違いを解説
- Javaの変数エラーはなぜ起きる?型・リテラル・変数名を初心者向けに解説
まとめ
else ifを使うと、複数の条件を上から順番に判定し、最初にtrueになった処理だけを実行できます。範囲が重なる場合は、より限定された高い基準から条件を並べます。
候補から1つだけを選ぶならelse if、複数の条件をそれぞれ確認するなら独立したif文です。条件式だけでなく、どの順番で判定されるかまで追うことが大切です。