switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
格式:
switch(expression){
case value :
//语句1
break; //可选
case value :
//语句2
break; //可选
//你可以有任意数量的case语句
default :
//语句3
break; //可以省略,但是建议不省略
}
代码演示:
public class Demo07Switch {
public static void main(String[] args) {
int num = 1; // 此除的值为1,那么结果则是:星期一
switch (num) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("数据不合理");
break; // 最后一个break语句可以省略,但是强烈推荐不省略
}
}
}
switch语句使用的注意事项:
1.多个case后面的数值不可以重复。否则编译报错!
2.switch后面小括号当中只能是下列数据类型:
基本数据类型: byte/short/char/int
引用数据类型:String字符串、enum枚举
3.switch语句格式可以很灵活:前后顺序可以颠倒,而且break语句可以省略。
“匹配哪一个case就从哪一个位置向下执行,直到遇到了break或者整体结束为止。”
代码演示:
public class Demo08SwitchNotic {
public static void main(String[] args) {
int num = 2;
switch (num) {
case 1:
System.out.println("Hello1");
break;
case 2:
System.out.println("Hello2");
// break;
// 注意此处没有break语句,则会有穿透效果,
// 输出结果是:
// Hello2
// Hello3
case 3:
System.out.println("Hello3");
break;
default:
System.out.println("Hello4");
break; // 不推荐省略
}
}
}