测试你对switch语句的掌握程度
switch语句的标准语法是:switch (expression) { case value: ... break; default: ... }。表达式需要用圆括号包围,case后面跟冒号,每个case通常需要break语句。
switch语句支持:byte、short、int、char、String(Java 7+)、enum(Java 5+)以及对应的包装类。不支持long、float、double等浮点类型。
由于x=2,匹配case 2,输出"B"。因为case 2和case 3都没有break语句,会发生fall-through,继续执行case 3,输出"C",然后遇到break跳出。所以输出"BC"。
default分支可以放在switch语句的任何位置,不一定要在最后。虽然不是必须的,但建议总是包含default分支来处理未预期的值。一个switch只能有一个default分支。
switch表达式的优势包括:可以返回值、使用箭头语法避免fall-through、支持多个case值用逗号分隔、语法更简洁。这些特性让代码更安全、更易读。
day="MONDAY"匹配第一个case,由于没有break语句,会fall-through到下一个case,但下一个case也没有代码,继续到有代码的地方,输出"工作日",然后遇到break跳出。
在枚举的switch语句中,case标签只需要写枚举常量的名称,不需要加枚举类型前缀。所以应该写成 case RED: 而不是 case Color.RED:
在switch语句中,所有case共享同一个作用域,所以不能在不同的case中声明同名变量。这会导致编译错误。解决方法是在case中使用大括号创建独立的作用域。
switch表达式使用箭头语法(->),多个case值用逗号分隔。选项A是正确的语法。选项B混合了冒号和箭头,选项C使用了return而不是箭头,选项D使用了错误的分隔符。
所有选项都是switch语句的最佳实践:包含default分支处理未预期值、使用break避免意外fall-through、保持代码简洁、在支持的版本中使用switch表达式、使用枚举提高类型安全性。