84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
在一個switch 區塊內,每個case 要麼透過break/return 等來終止,要麼註解說明程序會繼續執行到哪一個case 為止; 在一個switch 區塊內,都必須包含一個default 語句並且放在最後,即使它什麼程式碼也沒有。 這是為什麼?
switch case中default是很有必要的,即使只是個控制台輸出。例如你有3個case,'1','2','3'.但是你在某些情況下不小心傳入了4,這時候如果沒有default,程式就崩潰了,有時候可以把default看成是異常處理的一種。當然,default也是懶人處理問題的好選擇。還是之前的123,只有1的時候輸出'hello world',其他都輸出'nice to meet you'.如果不用default你可能要寫好幾個case來對應,default的話就一個case就夠了。除了1,其他都走default。 return/break的問題,還是上文的3個case, 1,2,3。如果1的邏輯執行完沒有return/break來結束,那2的邏輯也會跟著執行,直到遇到return/break為止。當然這種情況是合法的。但有些時候我們只想執行case 1中的邏輯,那就必須在1的邏輯後面加上return/break,否則多執行的2的邏輯,就會導致其他地方的邏輯錯誤。
大概就是這個意思,沒什麼太多的內容。
switch case中default是很有必要的,即使只是個控制台輸出。例如你有3個case,'1','2','3'.但是你在某些情況下不小心傳入了4,這時候如果沒有default,程式就崩潰了,有時候可以把default看成是異常處理的一種。當然,default也是懶人處理問題的好選擇。還是之前的123,只有1的時候輸出'hello world',其他都輸出'nice to meet you'.如果不用default你可能要寫好幾個case來對應,default的話就一個case就夠了。除了1,其他都走default。
return/break的問題,還是上文的3個case, 1,2,3。如果1的邏輯執行完沒有return/break來結束,那2的邏輯也會跟著執行,直到遇到return/break為止。當然這種情況是合法的。但有些時候我們只想執行case 1中的邏輯,那就必須在1的邏輯後面加上return/break,否則多執行的2的邏輯,就會導致其他地方的邏輯錯誤。
大概就是這個意思,沒什麼太多的內容。