Java else ifの使い方

この記事のポイント

Javaのelse if文は、複数の条件を効率的に処理するための条件分岐文です。

この記事ではelse if文について学ぶ際の重要なポイントを3つに絞ってご紹介します。これらのポイントを押さえることで、効果的な条件分岐処理が書けるようになります。

  • 複数の条件を順次判定し適切な処理を実行する制御構文
  • if文とelse文の間に配置し柔軟な分岐処理を実現可能
  • 条件の順序が重要で上から順番に評価される仕組み

これらの基本概念を理解することで、より複雑なプログラムロジックを組み立てることができるようになります。

目次

else ifとは?

else if文は、複数の条件を順番に検査して、最初に真となった条件に対応する処理を実行する制御構文です。

if文だけでは2つの条件しか扱えませんが、else if文を使用することで3つ以上の条件を効率的に処理できます。プログラムは上から順番に条件をチェックし、最初に満たされた条件のブロックを実行した後、残りの条件は無視されます。

この仕組みにより、複雑な判定ロジックを簡潔かつ読みやすく記述することが可能になり、プログラムの保守性と可読性が大幅に向上します。

【関連】
Javaをもっと詳しく学ぶならpaizaラーニング

基本構文

else if文の基本的な書き方を、具体的なコード例とともに解説します。基本構文は「if」で最初の条件を、「else if」で追加条件を、「else」で全ての条件に該当しない場合の処理を記述します。

public class Main { public static void main (String[] args) { int score = 85; if (score >= 90) { System.out.println("優秀"); } else if (score >= 70) { System.out.println("良好"); } else { System.out.println("要改善"); } } }

出力結果

良好

この例では、点数(score)に応じて成績を判定します。scoreは85なので、最初の条件score >= 90には合致しません。次にscore >= 70が判定され、条件に合致するため「良好」と出力されます。3つ目のelseブロックは実行されません。

public class Main { public static void main (String[] args) { String weather = "雨"; if (weather.equals("晴れ")) { System.out.println("散歩日和"); } else if (weather.equals("曇り")) { System.out.println("過ごしやすい"); } else if (weather.equals("雨")) { System.out.println("室内で過ごそう"); } else { System.out.println("天気不明"); } } }

出力結果

室内で過ごそう

上記の例では、条件が上から順番に評価され、最初に真となった条件のブロックが実行されています。変数weatherは「雨」なので、weather.equals("晴れ")とweather.equals("曇り")の条件は満たしません。3つ目のweather.equals("雨")の条件で真となり、「室内で過ごそう」と出力されます。

実用例

ここからは実際のプログラミングでよく使われるelse if文のパターンを、具体的なサンプルコードとともに紹介します。各例では異なる判定条件を扱い、実務でも応用できる実用的なコード例を通じて、else if文の柔軟性と有用性を理解していただけます。コード例は簡潔で分かりやすく、動物を使った親しみやすい出力結果で学習効果を高めています。

点数による成績判定

学生の点数に基づいて成績を4段階で判定するプログラムです。点数の判定ではtestScore >= 90のように、値の大きい条件から順に記述することが重要です。もし条件の順序が逆だと、90点や80点も「70点以上」と判定されてしまい、正しく評価できません。

public class Main { public static void main (String[] args) { int testScore = 76; if (testScore >= 90) { System.out.println("成績:ウサギのように俊敏な理解力"); } else if (testScore >= 80) { System.out.println("成績:イヌのように忠実な学習"); } else if (testScore >= 70) { System.out.println("成績:ネコのようにマイペースな成長"); } else { System.out.println("成績:カメのようにゆっくり確実に"); } } }

出力結果

成績:ネコのようにマイペースな成長

この例では、プログラムは上から順に、testScore >= 90、testScore >= 80の条件を判定しますが、変数testScoreの値が76のため、どちらも満たしません。3つ目のtestScore >= 70という条件で初めて合致したため、「成績:ネコのようにマイペースな成長」と出力されます。

時間帯によるあいさつ判定

現在の時刻に応じて適切なあいさつメッセージを表示するプログラムです。朝、昼、夕方、夜の4つの時間帯で異なるメッセージを出力します。

public class Main { public static void main (String[] args) { int hour = 14; if (hour < 6) { System.out.println("フクロウのように夜更かし中"); } else if (hour < 12) { System.out.println("ニワトリのように早起き、おはよう"); } else if (hour < 18) { System.out.println("ライオンのような活動的な午後"); } else { System.out.println("コウモリのような夜行性モード"); } } }

出力結果

ライオンのような活動的な午後

この例では、変数hourの値が14ですので、hour < 6とhour < 12の条件は満たしません。3つ目のhour < 18(午後6時より前)という条件で初めて合致するため、「ライオンのような活動的な午後」と出力されます。

年齢による分類判定

人の年齢に基づいて年代別のカテゴリーに分類するプログラムです。幼児、児童、青少年、成人の4つの区分で判定を行います。

public class Main { public static void main (String[] args) { int age = 25; if (age < 6) { System.out.println("コアラの赤ちゃんのような幼児期"); } else if (age < 13) { System.out.println("サルのようにやんちゃな児童期"); } else if (age < 20) { System.out.println("チーターのような疾走感ある青春期"); } else { System.out.println("ゾウのような落ち着いた大人"); } } }

出力結果

ゾウのような落ち着いた大人

この例では、変数ageの値が25なので、age < 6、age < 13、age < 20のどの条件にも当てはまりません。そのため最後のelseブロックが実行され、「ゾウのような落ち着いた大人」と出力されます。

温度による服装提案

気温に応じて適切な服装をアドバイスするプログラムです。暑い、暖かい、涼しい、寒いの4段階で判定し、動物に例えた表現でアドバイスします。

public class Main { public static void main (String[] args) { int temperature = 12; if (temperature >= 25) { System.out.println("トラのような軽装でOK"); } else if (temperature >= 20) { System.out.println("シマウマのような長袖がおすすめ"); } else if (temperature >= 10) { System.out.println("クマのような厚手の服装を"); } else { System.out.println("ペンギンのような防寒対策必須"); } } }

出力結果

クマのような厚手の服装を

この例では、変数temperatureの値が12なので、temperature >= 25とtemperature >= 20の条件は満たしません。3つ目のtemperature >= 10の条件に合致したため、「クマのような厚手の服装を」と出力されます。

体重による動物分類

体重の値に基づいて、該当する動物のサイズカテゴリーを判定するプログラムです。軽量、中型、大型、超大型の4つの区分で分類します。

public class Main { public static void main (String[] args) { double weight = 45.5; if (weight < 10) { System.out.println("ハムスターサイズの軽量級"); } else if (weight < 50) { System.out.println("イヌサイズの中型級"); } else if (weight < 100) { System.out.println("ヒツジサイズの大型級"); } else { System.out.println("ウマサイズの重量級"); } } }

出力結果

イヌサイズの中型級

この例では、変数weightの値が45.5です。最初の条件weight < 10は満たしませんが、次のweight < 50という条件に合致したため、「イヌサイズの中型級」と出力されます。

数値の大小比較判定

入力された数値が正の数、負の数、ゼロのいずれかを判定するプログラムです。数学的な分類を動物の特徴に例えて分かりやすく表現しています。

public class Main { public static void main (String[] args) { int number = -15; if (number > 0) { System.out.println("ウサギのように跳躍する正の数"); } else if (number < 0) { System.out.println("モグラのように地下に潜る負の数"); } else { System.out.println("ナマケモノのように動かないゼロ"); } } }

出力結果

モグラのように地下に潜る負の数

この例では、変数numberの値が-15です。最初のnumber > 0は満たしません。次のnumber < 0という条件に合致するため、「モグラのように地下に潜る負の数」と出力されます。

曜日による営業判定

曜日に応じて店舗の営業状況を判定するプログラムです。平日、土曜日、日曜日で異なる営業パターンを動物の行動パターンに例えて表現しています。

public class Main { public static void main (String[] args) { String dayOfWeek = "土曜日"; if (dayOfWeek.equals("日曜日")) { System.out.println("パンダのようにのんびり休業日"); } else if (dayOfWeek.equals("土曜日")) { System.out.println("リスのように活発な半日営業"); } else { System.out.println("アリのように勤勉な通常営業"); } } }

出力結果

リスのように活発な半日営業

この例では、変数dayOfWeekの値が「土曜日」です。最初のequals("日曜日")は一致しません。次のequals("土曜日")で条件が一致したため、「リスのように活発な半日営業」と出力されます。

月による季節判定

月の値から季節を判定し、各季節の特徴を動物の行動に例えて表現するプログラムです。春夏秋冬の4つの季節で分類を行います。

public class Main { public static void main (String[] args) { int month = 10; if (month >= 3 && month <= 5) { System.out.println("ツバメが舞う春の季節"); } else if (month >= 6 && month <= 8) { System.out.println("セミが鳴く夏の季節"); } else if (month >= 9 && month <= 11) { System.out.println("リスが木の実を集める秋の季節"); } else { System.out.println("クマが冬眠する冬の季節"); } } }

出力結果

リスが木の実を集める秋の季節

この例では、変数monthの値が10です。春と夏の条件範囲には当てはまりません。三つ目のmonth >= 9 && month <= 11という秋の条件範囲に合致するため、「リスが木の実を集める秋の季節」と出力されます。

まとめ

else if文は、複数の条件を効率的に処理するための重要な制御構文です。単純なif-else文では対応できない複雑な判定ロジックを、読みやすく保守しやすい形で実装することができます。条件は上から順番に評価され、最初に真となった条件のブロックが実行される仕組みを理解することが重要です。

else ifが活躍する場面

  • 成績や評価の段階的判定処理
  • 時間帯や季節による動的な処理切り替え
  • 数値範囲による分類とカテゴリー分け

重要なポイント

  • 条件の記述順序が処理結果に直接影響する
  • 効率的な判定のため頻度の高い条件を上位配置
  • else文で予期しない値への対応を必ず実装

これらの知識を活用して、より柔軟で実用的なJavaプログラムを開発してください。else if文をマスターすることで、プログラミングの表現力が大幅に向上し、さまざまな業務システムや アプリケーション開発において重要な基盤となるでしょう。

レベルを更に上げたい方はpaizaプログラミングスキルチェック

  1. paizaラーニングトップ
  2. リファレンス
  3. Javaのリファレンス記事一覧
  4. Java else ifの使い方