switch文で分岐が一気にわかる

switch文について Java

if文とswitch文、違いがわからなくて混乱していませんか?構文が覚えられない、break忘れでバグ、defaultって必要?そんな悩みがあなたを待ち構えています。
私もJavaを始めたころ、ifだけで全部書いていました。switch文を使うともっとスッキリするのに、それを知らずに長いコードに苦しんでいました。
この記事では、switch文の書き方、ifとの使い分け、breakの罠、defaultの意味、複数の値を処理する方法まで、初心者がつまずくポイントをやさしく解説します。
「やっと分岐が整理できた」「if文より読みやすくなった」といった声が多く寄せられている内容です。
例えば「今日の曜日でメッセージを出す」コード。if文だと6行、switch文なら3行で済みます。
読み終えるころには、「switch文って便利!」と笑顔になっているはずです。それでは一緒に学んでいきましょう!

if文との違いがわからない

switch文は「値に応じた分岐」に強い!if文は「条件式が複雑なとき」に使いましょう。
if文は条件が自由に書けますが、コードが長くなりがち。switch文は値が固定されているときに、スッキリ書けます。

曜日に応じたメッセージを出したいとき:

// if文の場合
if (day.equals("月")) {
  System.out.println("月曜日です");
} else if (day.equals("火")) {
  System.out.println("火曜日です");
} 
// 以下省略

// switch文の場合
switch (day) {
  case "月": System.out.println("月曜日です"); break;
  case "火": System.out.println("火曜日です"); break;
  // 以下省略
}

→ 値が明確なときはswitchのほうが読みやすい!
ifとswitchの違いは「条件の自由度 vs 見やすさ」。どちらを使うかは、場面に応じて選びましょう!

switch文の基本構文が覚えられない

switch文は「switch」「case」「break」「default」の4つでできています。型を覚えれば迷いません。
構文に慣れていないだけ。パターンを体で覚えましょう。
構文を見てみましょう!

switch (変数) {
  case 値1:
    処理1;
    break;
  case 値2:
    処理2;
    break;
  default:
    どれにも当てはまらない処理;
}
  • switchの中には「比べたい変数」
  • caseごとに処理を分岐
  • 最後に break を忘れない

switch文は「型」で覚えよう。実際に書いてみれば、すぐ体になじみます!

breakを書き忘れて全部実行される!?

breakを書かないと、次のcaseにどんどん“なだれ込む”のがswitch文の特徴です。
Javaのswitch文は、breakがないと処理がそのまま次へ進みます(=フォールスルー)。
具体例を見てみましょう!

String fruit = "りんご";
switch (fruit) {
  case "りんご":
    System.out.println("赤い果物");
  case "みかん":
    System.out.println("オレンジの果物");
}
String fruit = "りんご";
switch (fruit) {
  case "りんご":
    System.out.println("赤い果物");
  case "みかん":
    System.out.println("オレンジの果物");
}

りんご でも両方表示されてしまう!

正しくは:

case "りんご":
  System.out.println("赤い果物");
  break;

breakは「ここでストップ!」の意味。毎回しっかり書くクセをつけよう!

defaultっていらないの?

defaultは「どれにも当てはまらなかったとき」の保険。絶対ではないけど、つけたほうが安全!
もしすべてのcaseが外れたとき、defaultがあれば何かしらの処理ができます。なければ、何も起こりません。

switch (色) {
  case "赤": System.out.println("レッド"); break;
  case "青": System.out.println("ブルー"); break;
  default: System.out.println("知らない色");
}

defaultは「その他全部」に対する最後の砦。入れておけば安心です!

複数の値に同じ処理をしたい

複数のcaseを1つにまとめられます。Java 14以降はさらに便利になりました!
「AでもBでもCでも同じ処理をしたい」ということはよくあります。

従来の書き方:

switch (key) {
  case 1:
  case 2:
  case 3:
    System.out.println("1〜3のどれか");
    break;
}

Java14以降:アロー式(→)

switch (key) {
  case 1, 2, 3 -> System.out.println("1〜3のどれか");
}

書き方を知っておくだけで、コードがすっきり!新しい書き方もどんどん試してみよう!

まとめ:switch文を使いこなそう!

switch文は「条件がはっきりしているとき」の強い味方です。

この記事で紹介したように:

  • ifとの使い分けを意識する
  • 基本文法を型で覚える
  • breakやdefaultを丁寧に扱う
  • 複数caseの書き方を知っておく

これらのポイントをおさえるだけで、switch文はぐんと使いやすくなります。

あとは、実際に書いて動かすだけ! ぜひ、自分でオリジナルのswitchコードを書いてみてくださいね。

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