`switch`语句是一种多路分支选择结构,它根据一个表达式的值来选择执行不同的代码块。`switch`语句的基本语法如下:
```c
switch (表达式) {
case 常量表达式1:
语句1;
break;
case 常量表达式2:
语句2;
break;
...
case 常量表达式n:
语句n;
break;
default:
语句n+1;
break;
}
```
关键点解释:
表达式:
`switch`后面的括号内的表达式,其值将会与每个`case`后面的常量值进行比较。表达式可以是整数、枚举类型或字符串(从Java 7开始支持)。
case:
后面跟的是要与表达式进行比较的常量值。每个`case`的常量值必须是唯一的,且互不相同。
break:
用于跳出`switch`语句,防止执行后续的`case`代码块。如果不使用`break`,程序会继续执行下一个`case`的代码块,直到遇到`break`或`switch`语句结束。
default:
可选的,当所有`case`都不匹配时,执行`default`后面的代码块。
示例:
```java
int day = 3;
switch (day) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
default:
System.out.println("未知的日期");
}
```
在这个示例中,变量`day`的值为3,因此输出将是“星期三”。如果没有匹配的值,`default`块会被执行,输出“未知的日期”。
建议:
使用`switch`语句时,确保每个`case`的常量值是唯一的,以避免逻辑错误。
在每个`case`代码块后使用`break`语句,以避免执行多个`case`的代码块。
如果需要根据变量的值执行不同的操作,且变量的值是有限的且固定,`switch`语句可以提高代码的可读性和执行效率。