Java 中 switch 的用法你掌握了吗?
Java 中 switch 的用法你掌握了吗?我们一起来温故知新吧!
Java 重复判断之 switch
switch case 语句是用于判断一个变量与一系列值中某个值是否相等来作相应的操作,其执行效率比 if 语句要高,但相应的也有一定的限制性,它是只做等式比较,不能做其他条件筛选的。switch case 语句语法格式如下:1
2
3
4
5
6
7
8
9
10switch(expression) {
case value:
//语句
break;//可选
case value:
//语句
break;//可选
default://可选
//语句
}
switch case 语句有如下规则:
switch语句中的 expression 变量类型可以是:byte、short、int或者char。从 Java SE 7 开始,switch支持字符串String类型了,同时case标签必须为字符串常量或字面量,不能出现变量。switch语句可以拥有多个case语句。每个case后面跟一个要比较的值和冒号。case语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。- 当变量的值与
case语句的值相等时,那么case语句之后的语句开始执行,直到break语句出现才会跳出switch语句。 - 当遇到
break语句时,switch语句终止。程序跳转到switch语句后面的语句执行。case语句不必须要包含break语句。如果没有break语句出现,程序会继续执行下一条case语句,直到出现break语句。 switch语句可以包含一个default分支,该分支一般是switch语句的最后一个分支(可以在任何位置,但建议在最后一个)。default在没有case语句的值和变量值相等的时候执行。default分支不需要break语句
1 | switch(i) { |
注意事项
case 穿透
如果想要终止程序,必须在 case 语句中加上 break,
比如上例中若 i 的值为 1,则会执行到1
2case 1:
System.out.println("1");
语句,同时由于 case 1 分支中没有加入 break 语句,程序会继续执行下面的所有语句而不会继续做判断,直到遇到 break 语句,结果就会打印1
2
31
2
default
如果想要匹配到结果后中断程序,就需要在 case 分支中加入 break 语句,修改如下:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15switch(i) {
case 0:
System.out.println("0");
break;
case 1:
System.out.println("1");
break;
case 2:
System.out.println("2");
break;
default:
System.out.println("default");
break;
}
case 中定义变量
case 分支中如果想要定义变量,必须用 “{}” 将分支内容给包含进去,否则,不能定义变量。
如:1
2
3
4
5
6
7case 1 :
{
int num = 0 ;
System.out.println(num);
break;
}