0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

“なぜそうなるのか?”を全部調べたJava Silver SE17黒本攻略記 #3

Last updated at Posted at 2025-10-03

Java Silver SE17対策:switch文の応用と試験で問われる落とし穴まとめ

Javaの条件分岐の中でも、switch 文は「特定の値に応じて処理を分けたい場面」でコードをすっきり整理できる便利な構文です。
ただし、基本構文だけでなく「複数のcaseをまとめる」「breakの扱い」「defaultの位置」など、注意すべきポイントも多く、Java Silver SE17の試験でも頻出です。
この記事では、switch文の応用と試験で問われやすい落とし穴を、納得感重視で体系的に整理していきます。


🔸 複数のcaseをまとめる(caseのグルーピング)

同じ処理を複数の値に対応させたい場合、case を連続して記述することでまとめることができます。

String day = "SATURDAY";

switch (day) {
    case "SATURDAY":
    case "SUNDAY":
        System.out.println("週末です。ゆっくり休みましょう!");
        break;
    case "MONDAY":
        System.out.println("週の始まりです。気合い入れていきましょう!");
        break;
    default:
        System.out.println("今日も一日頑張りましょう!");
}

✅ ポイント

  • SATURDAYSUNDAY の両方が同じ処理に落ちるように、case を並べて break を1つだけ書く
  • if 文で複数条件を書くよりも、switch 文の方が視認性は良い

🔸 フォールスルーの挙動と注意点

switch 文では、break を書かないと次の case に処理が「落ちる」=実行されてしまいます。これを「フォールスルー」と呼びます。

int score = 90;

switch (score) {
    case 100:
        System.out.println("満点です!");
    case 90:
        System.out.println("とてもよくできました!");
    default:
        System.out.println("お疲れさまでした!");
}

✅ 出力結果

とてもよくできました!
お疲れさまでした!

⚠️ 注意

  • score = 90 のとき、case 90 に一致 → break がないため default にも処理が落ちる
  • 意図的にフォールスルーを使う場面もあるが、試験では「うっかりミス」として問われることが多い

🔸 defaultの役割と書く位置

default は、どの case にも一致しなかったときに実行される処理です。必須ではありませんが、書いておくことで予期せぬ値にも対応できます。

String color = "BLUE";

switch (color) {
    case "RED":
        System.out.println("赤です");
        break;
    default:
        System.out.println("その他の色です");
}

✅ defaultの位置は自由

switch (color) {
    default:
        System.out.println("その他の色です");
        break;
    case "RED":
        System.out.println("赤です");
        break;
}

どちらも動作は同じですが、可読性の観点から default は最後に書くのが一般的です。


🔸 switch文で使える型と制限

Javaでは、switch 文に使える型が決まっています。

使用可能な型 使用不可な型
int, byte, short, char boolean(true/false)
String(Java SE7以降) float, double
enum(列挙型) List, Mapなどの参照型

✅ 試験対策ポイント

  • booleanswitch 文で使えない → if 文を使うべき
  • StringenumJava Silver SE17でよく出題される

🔸 まとめ

  • 複数の case をまとめることで、コードの重複を減らせる
  • break の有無で処理の流れが大きく変わる → フォールスルーに注意
  • default は保険として書いておくと安心
  • 使用できる型に制限がある → 試験では「使えない型」を問われやすい

次回は、enumswitch 文の組み合わせや、より実践的な分岐設計について掘り下げていきます。納得感と体系的な理解をさらに深めて、Java Silver SE17合格に一歩前進したいと思います!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?