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;
}