"3、 case 匹配后,执行匹配块里的程序代码,如果没有遇见 break 会继续执行下一个的 case 块的内容,直到遇到 break 语句或者 switch 语句块结束 如"这里的意思是指case和break一起使用,而default是switch的结束语吗?如果我是这样理解的话,“5、 default 块可以出现在任意位置,也可以省略”又有矛盾了?
前面那半句不对.. 如果没有default 而且没有匹配到会报错
default 的意思是 如果没有遇到没有跟case匹配的 就执行default语句 但是default语句并不是switch 的结束语 你也可以把所有情况列全 就不用default语句了。
break的意思你可能没有太理解,它代表的是跳出循环 或者当前块,如果 没有break的话他就会继续执行下面的代码 效果跟
case '一':
case '三':
case '五':
是一样的
case 匹配后,执行匹配块里的程序代码,如果没有遇见 break 会继续执行下一个的 case 块的内容。对,没错,就是case和break一起使用,如果没有break,那么它还是继续执行下一个语句块的内容。default就是默认的意思,也就是说如果case没有匹配到的话,就会执行default里面的内容。
就拿课程里面这个做栗子吧
public class HelloWorld {
public static void main(String[] args) {
char today='一';
switch(today){
case '一':
case '三':
case '五':
System.out.println("吃包子");
break;
case '二':
case '四':
case '六':
System.out.println("吃油条");
break;
default:
System.out.println("吃主席套餐");
}
如果把这代码块里面的break都给删了,那么控制台就会依次输出:
吃包子
吃油条
吃主席套餐
default我们也可以省略掉,是不是可以用一个case '日':来替换掉啊,效果是一样的。