測試**:
int x =2;
int y =3;
switch
(x) system.out.
println
("y = "
+ y)
;
執行順序:匹配物件為x,首先進入switch語句後,不會直接進入default語句,它是在沒有匹配case的情況下最後去執行的,繼續往向下走,沒有匹配上case3,繼續往下走,依舊沒有匹配,繼續向下與5匹配,匹配不上,由於沒有成功匹配case,執行default中的語句,進行y++,但這裡沒有遇到break語句,忽略掉case3和4的判斷,執行兩次y++,直到遇到break或是右大括號才跳出switch語句,所以總共進行了3次y++,輸出結果為y=6
中間這兩次連續的y++就是case穿透導致的
switch語句 case穿透
switch語句的case穿透 public static void main string args switch case 穿透 default 在最上面的值 1 public static void main string args 要結束的,但是結束是case 的值需要和 switch的值 ...
switch語句和case語句的特性
switch語句格式 switch 表示式 執行順序 首先計算表示式的值 然後,和case的值依次進行比較,遇到相對應的值就會匹配對應的結果,遇到break,就會退出整個迴圈 如果所有的case都和表示式的值不匹配,就會執行default語句體部分,然後程式結束掉。switch語句中,表示式的資料型...
SQL語句中 CASE 的用法
在寫sql語句時,或者是在pl sql中,經常需要在乙個sql語句中,根據不同的條件,有多種處理方法,如簡單例子 一種商品時,單價不同,折扣不同,對這種需求的處理,如果分情況處理,將會很麻煩,如果用case語句,就可以在一條sql語句中得到想要的結果。首先看一下,case的語法 case when ...