switch文
CoddyのJavaジャーニー「基礎」セクションの一部。レッスン 29/73。
switch文は、複数の分岐があるif文のようなものです。単一の条件を評価する代わりに、変数の値を複数のケースと照合し、一致するケースに関連付けられたコードを実行します。
switch文の基本的な構造は次のとおりです:
switch (variable) {
case value1:
// variable が value1 と等しい場合に実行するコード
break;
case value2:
// variable が value2 と等しい場合に実行するコード
break;
// ... さらに多くの case
default:
// 一致する case がない場合に実行するコード
}switchキーワードの後に、テストしたい変数を括弧内に指定します。- それぞれの
caseは、変数が取り得る値を表します。 - 変数の値がその
caseの値と一致すると、そのcase内のコードが実行されます。
break文は重要です。ケースが実行された後、switchを終了します。これがないと、実行が次のケースへ「フォールスルー」します。defaultケースは省略可能で、ほかのケースに一致しない場合に実行されます。
例を見てみましょう。
int day = 3;
String dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... ほかの曜日のcase
default:
dayName = "Invalid day";
}複数のケースを1つにまとめることもできます。
int day = 3;
String dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... 他の曜日に対応するcase
default:
dayName = "Invalid day";
}チャレンジ
初心者月の番号(1はJanuary、2はFebruaryなど)を受け取り、その月が属する季節を出力するプログラムを作成してください。処理にはswitch文を使用してください。
季節と対応する月は次のとおりです。
Winter: December (12)、January (1)、February (2)Spring: March (3)、April (4)、May (5)Summer: June (6)、July (7)、August (8)Autumn: September (9)、October (10)、November (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);
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Javaオンラインコンパイラ