语法格式:
switch (表达式) {
case 值1:
语句序列1;
[break]; []表示可写可不写,一般都写,不写的话会发生case穿透
case 值2:
语句序列2;
[break];
default:
默认语句;
default;
}
switch语句会根据表达式的值从相匹配的case标签处开始执行,一直执行到break语句处或者是switch语句的末尾。如果表达式的值与任意case的值不匹配,则进入default语句(如果存在default语句的情况)。
根据表达式值的不同可以执行许多不同的操作。switch语句中case标签的JDK1.5之前必须是整数(long类型除外)或者枚举,不能是字符串,在JDK1.7之后允许使用字符串(String)。
public class TestControlStatementSwitch {
/**
* @param args
*/
public static void main(String[] args) {
int a = 1+(int)(7*Math.random());
System.out.println("a="+a);
switch (a){
case 1:
System.out.println("礼拜1");
case 2:
System.out.println("礼拜2");
case 3:
System.out.println("礼拜3");
break;
case 4:
case 5:
System.out.println("礼拜4或者礼拜5");
break;
default:
System.out.println("周末");
}
}
}
结果
a=2
礼拜2 //case 2,执行输出,没有break,往下执行,case穿透;
礼拜3 //执行到case 3,执行输出,break,结束。
a=4
礼拜4或者礼拜5 //case 4,往下走,利用case穿透,case 5,执行输出,break,结束。
a=7
周末 //a=7,没有符合case的,走default。