Switch case break/ default總結
}在這個語句中,如果direction=U。那麼四個case語句都將執行。如果direction=R。將執行剩下三個語句。原因是switch語句原理是跳轉到caseX位置執行剩下的語句,直到最後或者遇見break為止。因此在每一條語句最後+break即可。
}這樣就能,每一個direction執行一步操作。當然還有 別的用法,比如一個direction,讓他可以執行兩條或者3條操作這種。
總結:
switch語句原理是跳轉到caseX位置執行剩下所有的語句(包括其他case裡面的),直到最後或者遇見break為止。因此在每一條語句最後+break即可。
因此不加break的話將會執行跳轉到的case本身以及以下所有的語句。
2.default 在語句中的位置和加不加break引發的結果
switch中的default,一般用在最後,表示非以上的任何情況下而發生的情況,
我們一般習慣在他的後面加上個break。但是,如果default不是在最後,
而是在前面或中間會發生什麼情況呢:
先看看default在句首的情況:
int i = 2;
switch (i) {
default:
System.out.println("default");
case 0:
System.out.println("0");
case 1:
System.out.println("1");
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
case 4:
System.out.println("4");
break;
}
他的輸出結果是:2! 很明顯,不是先執行的default語句!
再看看下面語句:
int i = 8;
switch (i) {
default:
System.out.println("default");
case 0:
System.out.println("0");
case 1:
System.out.println("1");
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
case 4:
System.out.println("4");
break;
}
他的輸出結果是:
default
0
1
2
出人意料!!從default開始向後執行!
再看看default在句中的情況:
int i = 2;
switch (i) {
case 0:
System.out.println("0");
case 1:
System.out.println("1");
break;
default:
System.out.println("default");
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
case 4:
System.out.println("4");
break;
}
結果是2!顯然還是沒執行default!
int i = 8;
switch (i) {
case 0:
System.out.println("0");
case 1:
System.out.println("1");
break;
default:
System.out.println("default");
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
case 4:
System.out.println("4");
break;
}
結果:
default
2
顯然是從default開始向後執行的!
從上面可以看出:
switch的執行是按照從小到大的順序執行的,最後執行default語句,
如果default後面帶有break,那麼程式就會正常跳出switch,否則,
程式會繼續向後執行switch語句!也就是說,不管default放在什麼
位置,它總是在最後一個處理,然後繼續向下處理!
所以,最後的處理辦法,避免出現以外結果的最好辦法就是每一個case
以及default語句都要加一個break!
default在switch開頭:
(1)若所有case都不滿足條件,則執行default,並執行default語句之後的case語句,直到break或結束,
(2)default在switch中間:
若所有case都不滿足條件,同上,直接執行default語句,並執行default語句之後的case語句,直到break或結束,
(3)
default在switch末尾:
若所有case語句都不滿足條件,則執行default語句,結束;若有case滿足,則執行case語句直到遇到break或switch語句結束
相關推薦
Switch case break/ default總結
1.寫switch case語句不加break會怎樣。switch case語句犯得錯誤:會犯這種錯誤,都是基礎不牢固導致的。但是這樣的錯誤卻花費了我數小時去debug.想來真是很讓人鬱悶。看一段程式碼:(不想看程式碼直接看後面總結)private void arrange(
? 列舉 程式設計題#2:撥鍾問題(Coursera 程式設計與演算法 專項課程4;函式memcpy的用法,switch case break 語句!)
程式設計題#2:撥鍾問題 來源: POJ (Coursera宣告:在POJ上完成的習題將不會計入Coursera的最後成績。) 注意: 總時間限制: 1000ms 記憶體限制: 65536kB 描述 有9個時鐘,排成一個3*3的矩陣。
C語言中switch...case語句中break的重要性
不能 實現 比例 重要性 case語句 毫無 ... 應該 switch 在C語言中switch...case語句是經常用到的,下面我介紹一下在使用該語句時候需要註意的一個細節問題。話不多說,直接舉例子: 例子1: switch(fruit) { case 1:printf
【C】switch-case裏面,加或不加break的區別
執行 span pri ++ int code fault color case int test; test = 0; switch(test) { case 0: test++; printf("value = 0"); // 打
switch語句break不能忘以及default不同位置的用法
public class Test{ public static void main(String[] args){ System.out.println("2 = "+ toNumberCase(2)); } }
switch-case語句裡面有return了 ,break還起作用嗎?該如何解決
switch-case語句裡面有return了 ,break還起作用嗎?switch-case語句裡面有return了 ,break還起作用嗎? 比如: switch(ID)
寫switch case語句不加break會怎樣。
在這個語句中,如果direction=U。那麼四個case語句都將執行。如果direction=R。將執行剩下三個語句。原因是switch語句原理是跳轉到caseX位置執行剩下的語句,直到最後或者遇見break為止。因此在每一條語句最後+break即可。
switch case default 語句的的使用以及注意事項
首先我們來看一下它們基本的定義 switch(表示式) {case 取值1:輸出語句;break;。。。。default:輸出語句;break; } 上面的執行流程是這樣的, 1.從switch語句開
switch case語句:從匹配處順序執行,直到遇到break或結束
Switch語句重點:從匹配處開始順序執行,直到遇到break或結束。(由此可知,新增break語句的重要) switch語句的基本形式 switch(表示式) { case 常量表達式1: 語句1 case常量表達式2: 語句2 . . . case常量表達式n: 語句n
switch中case與default的順序
先來看幾個例項 1、 例項原始碼為: #include<stdio.h> int main() { int i = 2; switch (i) {
asp.net ashx處理程式中switch case的替代方案總結
目錄 1、用委託字典代替switch...case; 2、利用反射替代switch...case; 3、比較兩種方案 4、其他方案 5、說明 6、參考
switch… case 語句的用法
[] other sta rgs bsp str 復制代碼 ring 表達 public class Test7 { public static void main(String[] args) { int i=5; switch
【java】switch case支持的7種數據類型
包裝類 mac 打開 拆箱 創建 eval get trade ocs switch表達式後面的數據類型只能是byte,short,char,int四種整形類型,枚舉類型和java.lang.String類型(從java 7才允許),不能是boolean類型。 在網上看到
JS入門基礎(if else 與 switch case / node安裝)
json health 案例 js文件 動作 require 步驟 *** 命令 在 JavaScript 中,為不同的決定來執行不同的動作,我們可使用以下條件語句: if 語句 - 只有當指定條件為 true 時,使用該語句來執行代碼 if...else 語句 - 當條
loadrunner C語言switch case
ecc image save ase style get res cti src 1 Action() 2 { 3 char *p=NULL; 4 web_reg_find("Fail=NotFound", 5 "Search=A
Switch Case語句中多個值匹配同一個代碼塊的寫法
har com arch mssql pre html www ase cas switch ($p) { case ‘home‘: case ‘‘: $current_home = ‘current‘; break
if 和 switch...case 的區別
條件判斷語句 情況 log gpo pos clas 條件判斷 ase 區別 if 和 switch...case 都是條件判斷語句,它們主要有以下幾點區別: 在確切知道條件結果,並且結果有限下的條件下可以使用 switch...case, 在不能確切表示結果的情況下
JavaScript基礎知識(if、if else、else if、while、switch...case語句)
case語句 bubuko ... gpo 控制 java 包含 分享 if...else 13、語句 概念:就是分號(;) 代表一條語句的結束 習慣:一行只編寫一條語句;一行編寫多條語句(代碼可讀性較差) 語句塊:可以包含多條語句 "{ }"將多條語句包裹 u 條
Java中的switch-case語句
sub public return ID PE stat class a case cti class ArithmeticFunction { public static int arithmetic(int a, int b, String operator) {
switch case 支持的 6 種數據類型!
cte 必須 tsa htm acl olt sin 數據類型 sta 有粉絲建議可以偶爾推送一些 Java 方面的基礎知識,一方面可以幫助一初學者,也可以兼顧中高級的開發者。 那麽今天就講一下 Java 中的 switch case 語句吧,有忘記的同學正好可以溫習一下。