Switch Statement
CoddyのJavaジャーニー「基礎」セクションの一部。レッスン 29/73。
switch 文は、多分岐の if 文のようなものです。単一の条件を評価する代わりに、variable の値を複数の cases と照合し、一致する case に関連付けられたコードを実行します。
以下は switch 文の基本構造です:
switch (variable) {
case value1:
// variable が value1 と等しい場合に実行するコード
break;
case value2:
// variable が value2 と等しい場合に実行するコード
break;
// ... その他のケース
default:
// どのケースにも一致しない場合に実行するコード
}switchキーワードの後には、テストしたいvariableを括弧内に記述します。- 各
caseは、variableが取り得る値を表します。 variableがそのcaseの値に一致(matches)した場合、そのcase内のコードが実行されます。
breakステートメントは非常に重要です。caseが実行された後、switchを終了します。これがないと、処理は次のcaseに「フォールスルー(通り抜け)」してしまいます。defaultケースは任意であり、他のどのcaseにもmatchesしない場合に実行されます。
以下は例です:
int day = 3;
String dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... 他の曜日のケース
default:
dayName = "Invalid day";
}複数の case を1つに結合することもできます:
int day = 3;
String dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... 他の日のケース
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" と出力してください。
自分で試してみよう
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自分で練習してみよう: Javaオンラインコンパイラ