Java 逆引き集 | 条件分岐(if / switch) — ビジネスロジックの分岐

Java Java
スポンサーリンク

条件分岐(if / switch) — ビジネスロジックの分岐

プログラムは「状況に応じて処理を変える」ことが多いです。Javaでは代表的に if文switch文 を使います。初心者向けに「どんなときに使うか」「書き方のテンプレート」「例題」を整理します。


if文 — 条件を柔軟に判定する

基本形

if (条件式) {
    // 条件が true のとき実行
} else if (別の条件式) {
    // こちらが true のとき実行
} else {
    // どれも false のとき実行
}
Java

例:会員ランクによる割引判定

int rank = 2; // 1:一般, 2:シルバー, 3:ゴールド
double price = 1000;

if (rank == 3) {
    price *= 0.8; // ゴールドは20%引き
} else if (rank == 2) {
    price *= 0.9; // シルバーは10%引き
} else {
    // 一般は割引なし
}
System.out.println("支払金額: " + price);
Java
  • ポイント:
    • 条件式は true/false を返す式。
    • == は「等しいかどうか」。
    • 複数条件を組み合わせるときは &&(かつ), ||(または)を使う。

switch文 — 値ごとに分岐する

基本形(Java 14以降の新構文も紹介)

switch (値) {
    case 値1:
        // 値が値1のとき
        break;
    case 値2:
        // 値が値2のとき
        break;
    default:
        // どれにも当てはまらないとき
}
Java

例:曜日ごとの営業時間

String day = "MON";

switch (day) {
    case "MON":
    case "TUE":
    case "WED":
    case "THU":
    case "FRI":
        System.out.println("営業時間: 9:00〜18:00");
        break;
    case "SAT":
        System.out.println("営業時間: 10:00〜16:00");
        break;
    case "SUN":
        System.out.println("休業日");
        break;
    default:
        System.out.println("不明な曜日");
}
Java
  • ポイント:
    • break を忘れると次のケースまで処理が流れる(フォールスルー)。
    • 複数の値をまとめたいときは上の例のように case を並べる。
    • Java 14+ では「switch式」が使え、より簡潔に書ける。

新しい書き方(switch式)

String day = "SAT";
String hours = switch (day) {
    case "MON", "TUE", "WED", "THU", "FRI" -> "9:00〜18:00";
    case "SAT" -> "10:00〜16:00";
    case "SUN" -> "休業日";
    default -> "不明";
};
System.out.println("営業時間: " + hours);
Java

使い分けの目安

  • if文: 条件が複雑(範囲判定、複数条件の組み合わせ)。
  • switch文: 値が「特定の候補のどれか」に当てはまる場合。

例:

  • 「金額が1万円以上なら送料無料」→ if文。
  • 「入力された文字がA/B/Cのどれかで処理を変える」→ switch文。

例題で練習

例題1: 年齢による料金判定

int age = 15;
int fee;

if (age < 6) {
    fee = 0; // 幼児無料
} else if (age < 18) {
    fee = 500; // 子供料金
} else {
    fee = 1000; // 大人料金
}
System.out.println("料金: " + fee);
Java

👉 範囲判定は if文が得意。


例題2: 商品カテゴリによる税率

String category = "FOOD";
double taxRate;

switch (category) {
    case "FOOD":
        taxRate = 0.08;
        break;
    case "BOOK":
        taxRate = 0.05;
        break;
    case "OTHER":
        taxRate = 0.10;
        break;
    default:
        taxRate = 0.0;
}
System.out.println("税率: " + taxRate);
Java

👉 候補が決まっているときは switch が便利。


テンプレート集

if文テンプレート

if (条件) {
    // true の処理
} else {
    // false の処理
}
Java

switch文テンプレート

switch (変数) {
    case 値1:
        // 処理
        break;
    case 値2:
        // 処理
        break;
    default:
        // その他
}
Java

次の一歩

  • 練習課題:
    • 「注文金額が5000円以上なら送料無料、3000円以上なら送料半額、それ以外は送料500円」→ if文で書いてみる。
    • 「入力された月番号(1〜12)で季節を表示」→ switch文で書いてみる。

こうした練習をすると「どちらを使うと読みやすいか」が自然に分かってきます。

タイトルとURLをコピーしました