PDF 课件和源代码下载地址:
https://github.com/geektime-geekbang/LetsJava
作者回复: 对。其实更简单的说法是,只要匹配了,就会进去执行,一直到switch结束或者遇到break/return改变执行流程。
default并非是无论是否匹配都会执行,而是没有任何能匹配上的情况下,default可以匹配任意条件。
比如下面的switch语句,很别扭的把default放在类中间,输出就是3,default就不会执行。而如果case 3下面还有语句,那么还是会继续执行。
int a = 3;
switch (a){
case 1:
System.out.println("1");
default:
System.out.println("000");
case 3:
System.out.println("3");
}
如果
int a = 999;
那么输出就是
000
3
作者回复:
还真没有试过default不写在最后。按照习惯最好还是写在最后。
break那个疏忽了。建议按照习惯,每个case都break。
作者回复: 用next()试试看