我就纳闷儿了,既然 switch是来判断后边的表达式(num),为何值不等于 num,也要执行? 就像例子那样,num=1 执行,等于2/3/4 的时候,为啥还执行? 哪来的判断一说? 那写不写case 1/2/3/4 有何意义????
不等于num的时候执行default,当num=1的时候执行case 1,当它执行之后没有遇见break等停止标识他会继续执行下面的代码,比如case 2 的输出。
public class HelloWorld {
public static void main(String[] args) {
/* char today='二';
switch(today){
case '一':
System.out.println("吃包子");
case'二':
System.out.println("吃油条");
case'三':
System.out.println("吃包子");
case'四':
System.out.println("吃油条");
case'五':
System.out.println("吃包子");
case'六':
System.out.println("吃油条");
default:
System.out.println("吃主席套餐");
}*/
/* switch(today){
case'一':
case'三':
case'五':
System.out.println("吃包子");
break;
case'二':
case'四':
case'六':
System.out.println("吃油条");
break;
default:
System.out.println("吃主席套餐");
break;
}*/
int today=9;
if(today<7){
if(today%2==1){
System.out.println("吃油条");
}else{
System.out.println("吃包子");
}
}else{
System.out.println("吃总统套餐");
}
}
}
每种情况的后面要加break