Menu
CoddyTech

switch 语句

本课属于 Coddy Java 学习旅程的“基础知识”单元。第 29 课,共 73 课。

switch 语句就像多分支的 if 语句。它不会只判断一个条件,而是会将变量的值与多个分支进行比较,并运行匹配分支对应的代码。

下面是 switch 语句的基本结构:

switch (variable) {
    case value1:
        // 如果 variable 等于 value1,就执行此处的代码
        break;
    case value2:
        // 如果 variable 等于 value2,就执行此处的代码
        break;
    // ... 更多分支
    default:
        // 如果没有匹配的分支,就执行此处的代码
}
  • switch 关键字后面是在括号中要测试的变量。
  • 每个 case 都表示变量的一个可能值。
  • 如果变量与某个 case 的值匹配,就会执行该 case 中的代码。
  • break 语句非常重要;它会在执行完某个 case 后退出 switch。如果没有它,程序就会继续执行下一个 case。
  • default case 是可选的,如果没有其他 case 匹配,就会执行它。

来看一个例子:

int day = 3;
String dayName;

switch (day) {
    case 1:
        dayName = "Monday";
        break;
    case 2:
        dayName = "Tuesday";
        break;
    // ... 其他日期的 case
    default:
        dayName = "Invalid day";
}

你还可以将多个 case 合并到一起:

int day = 3;
String dayName;

switch (day) {
    case 1:
    case 2:
    case 3:
        dayName = "Start of week";
        break;
    // ……其他日期对应的 case
    default:
        dayName = "Invalid day";
}
challenge icon

挑战

入门

创建一个程序,输入月份编号(1 表示一月,2 表示二月,以此类推),并输出该月份所属的季节。使用 switch 语句实现逻辑。

季节及其对应的月份如下:

  • Winter:十二月(12)、一月(1)、二月(2)
  • Spring:三月(3)、四月(4)、五月(5)
  • Summer:六月(6)、七月(7)、八月(8)
  • Autumn:九月(9)、十月(10)、十一月(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);
    }
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Java 在线编译器