Switch Statement
CoddyのJavaジャーニー「基礎」セクションの一部 — レッスン 29/73。
switch 文は、多分岐の if 文のようなものです。単一の条件を評価する代わりに、変数の値を複数のケースに対して照合し、一致するケースに関連付けられたコードを実行します。
以下は switch 文の基本構造です:
switch (variable) {
case value1:
// Code to execute if variable equals value1
break;
case value2:
// Code to execute if variable equals value2
break;
// ... more cases
default:
// Code to execute if no case matches
}switchキーワードの後には、テストしたい変数を括弧で囲みます。- 各
caseは変数の可能な値を示します。 - 各
case内のコードは、変数がその case の値に一致する場合に実行されます。
break文は重要です。ケースが実行された後にswitchから抜け出します。それがないと、実行は次のケースに「fall through」します。defaultケースはオプションで、他のケースが一致しない場合に実行されます。
以下は例です:
int day = 3;
String dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... cases for other days
default:
dayName = "Invalid day";
}複数の case を1つにまとめることもできます:
int day = 3;
String dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... cases for other days
default:
dayName = "Invalid day";
}チャレンジ
初心者月番号(1 が 1月、2 が 2月など)を受け取り、それが属する季節を出力するプログラムを作成してください。switch 文を使用してロジックを実装します。
季節とそれに対応する月は以下の通りです:
- Winter:12月 (12)、1月 (1)、2月 (2)
- Spring:3月 (3)、4月 (4)、5月 (5)
- Summer:6月 (6)、7月 (7)、8月 (8)
- Autumn:9月 (9)、10月 (10)、11月 (11)
その他の月番号の場合、"Invalid month" を出力してください。
チートシート
switch 文は、変数を複数のケースに対してチェックする多方向条件分岐です:
switch (variable) {
case value1:
// Code to execute if variable equals value1
break;
case value2:
// Code to execute if variable equals value2
break;
default:
// Code to execute if no case matches
}主な構成要素:
case:変数の可能な値を示しますbreak:ケースが実行された後に switch を終了します(フォールスルーを防ぎます)default:他のケースが一致しない場合に実行されるオプションのケース
複数のケースを結合できます:
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
default:
dayName = "Invalid day";
}自分で試してみよう
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int month = scanner.nextInt();
String season = "";
// ここにコードを書いてください
System.out.println(season);
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 43Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - Else