第13章测试:Java switch语句

测试你对switch语句的掌握程度

10道题目
建议时间:15分钟
难度:中等
1
下列哪个是switch语句的正确语法结构?
单选

解析

switch语句的标准语法是:switch (expression) { case value: ... break; default: ... }。表达式需要用圆括号包围,case后面跟冒号,每个case通常需要break语句。

2
switch语句支持哪些数据类型?(多选)
多选

解析

switch语句支持:byte、short、int、char、String(Java 7+)、enum(Java 5+)以及对应的包装类。不支持long、float、double等浮点类型。

3
以下代码的输出结果是什么?
代码
int x = 2; switch (x) { case 1: System.out.print("A"); case 2: System.out.print("B"); case 3: System.out.print("C"); break; default: System.out.print("D"); }

解析

由于x=2,匹配case 2,输出"B"。因为case 2和case 3都没有break语句,会发生fall-through,继续执行case 3,输出"C",然后遇到break跳出。所以输出"BC"。

4
关于default分支,下列说法正确的是?
单选

解析

default分支可以放在switch语句的任何位置,不一定要在最后。虽然不是必须的,但建议总是包含default分支来处理未预期的值。一个switch只能有一个default分支。

5
Java 14引入的switch表达式的优势包括?(多选)
多选

解析

switch表达式的优势包括:可以返回值、使用箭头语法避免fall-through、支持多个case值用逗号分隔、语法更简洁。这些特性让代码更安全、更易读。

6
以下字符串switch代码的输出是什么?
代码
String day = "MONDAY"; switch (day) { case "MONDAY": case "TUESDAY": System.out.print("工作日"); break; case "SATURDAY": case "SUNDAY": System.out.print("周末"); break; default: System.out.print("未知"); }

解析

day="MONDAY"匹配第一个case,由于没有break语句,会fall-through到下一个case,但下一个case也没有代码,继续到有代码的地方,输出"工作日",然后遇到break跳出。

7
使用枚举的switch语句中,case标签应该如何写?
单选
enum Color { RED, GREEN, BLUE } Color color = Color.RED;

解析

在枚举的switch语句中,case标签只需要写枚举常量的名称,不需要加枚举类型前缀。所以应该写成 case RED: 而不是 case Color.RED:

8
以下代码会发生什么?
代码
int x = 1; switch (x) { case 1: int y = 10; break; case 2: int y = 20; // 这一行 break; }

解析

在switch语句中,所有case共享同一个作用域,所以不能在不同的case中声明同名变量。这会导致编译错误。解决方法是在case中使用大括号创建独立的作用域。

9
以下哪个是正确的switch表达式语法?
单选

解析

switch表达式使用箭头语法(->),多个case值用逗号分隔。选项A是正确的语法。选项B混合了冒号和箭头,选项C使用了return而不是箭头,选项D使用了错误的分隔符。

10
switch语句的最佳实践包括?(多选)
多选

解析

所有选项都是switch语句的最佳实践:包含default分支处理未预期值、使用break避免意外fall-through、保持代码简洁、在支持的版本中使用switch表达式、使用枚举提高类型安全性。

0%
请完成测试
0
答对题数
10
总题数
0%
正确率