switch ( j ) {
case 2:
System.out.println("Value is two. "+j); //这里没有break,会继续执行下面的语句,直到遇到break才会跳出switch
case 2+1 :
System.out.println("Value is three. "+j);
break; switch ( j ) {
case 2+1 : //如果j==3才会执行
System.out.println("Value is three. "+j);
break;
default: //因为上面没有满足的条件,所以执行default
System.out.println("value is "+j);
break;
}
System.out.println("Value is two. "+j);
case 2+1 : 你这两个case之间没有break, 当然就都顺序执行下来了.
case 2:
System.out.println("Value is two. "+j); System.out.println("Value is three. "+j);
break;
所以会输出Value is three. 2
第二个程序中的条件式
switch ( j ) {
case 2+1 :
System.out.println("Value is three. "+j);
break; switch中的括号放置你要取出数值的变量,取出数值之后程序会开始与CASE中的所设置的数字作比较,如果符合就执行其中的语句,显然你的2+1不在变量J值范围,所以不执行CASE2+1后面的语句,接着遇到break后离开switch程序块,如果没有符合的数值或字符,则会执行default后面的语句,所以下面的程序输出的结果是value is 2