主题
  • 默认模式
  • 浅蓝色模式
  • 淡绿色模式
  • 深夜模式

Java Switch 语句

switch-case是 Java 中的一种多分支选择结构,用于根据一个表达式的值来选择执行不同的代码块。

switch-caseif-else结构的一种替代方案,特别适合有多个固定选项的情况。

基本语法如下:

switch (expression) {
    case value1:
        // 代码块1
        break;
    case value2:
        // 代码块2
        break;
    // 可以有任意数量的case语句
    default:
        // 默认代码块
}

switch case 语句有如下规则:

  • expression可以是:byteshortcharint 及其包装类,枚举类型 (Java 5+),String (Java 7+)
  • case后的值必须是常量,且类型必须与expression兼容
  • break语句用于退出switch块,如果省略会继续执行下一个case(称为 "case 穿透")
  • default是可选的,当没有匹配的case时执行

Java Switch-case 流程图


Switch 基本用法

✅ 下面通过将数字转换成标准的星期几的实例,展示了switch的基本用法:

int day = 3;
String dayName;

switch (day) {
    case 1:
        dayName = "Monday";
        break;
    case 2:
        dayName = "Tuesday";
        break;
    case 3:
        dayName = "Wednesday";
        break;
    case 4:
        dayName = "Thursday";
        break;
    case 5:
        dayName = "Friday";
        break;
    default:
        dayName = "Weekend";
}
System.out.println(dayName);

✅ 输出结果:

Wednesday

在这个示例中,我们使用switch语句通过匹配case项,来输出对应的英文星期几。


Case 穿透用法

✅ 下面通过将数字转换成标准的星期几的实例,展示了case的穿透用法:

int month = 2;
int year = 2020;
int numDays = 0;

switch (month) {
    case 1: case 3: case 5: case 7: case 8: case 10: case 12:
        numDays = 31;
        break;
    case 4: case 6: case 9: case 11:
        numDays = 30;
        break;
    case 2:
        if (((year % 4 == 0) && !(year % 100 == 0)) || (year % 400 == 0))
            numDays = 29;
        else
            numDays = 28;
        break;
    default:
        System.out.println("Invalid month.");
}
System.out.println("Number of Days = " + numDays);

✅ 输出结果:

Number of Days = 29

在这个示例中,我们使用switch语句的case穿透用法,获取2020年2月的天数。



评论区 0
发表评论
教程介绍
Java 通用高级编程语言,广泛应用在企业级应用开发、移动应用开发、大数据处理等领域。
12 章节
24 阅读
0 评论