我對java比較陌生。在switch
聲明中,您是否必須在每個case
之後放置break
聲明?幫助switch語句
6
A
回答
5
在每種情況下都不必折斷,但如果不這樣,它們會流入對方。有時候你想通過忽略中斷來將多個案例捆綁在一起。
3
你最好這樣做。否則,下一個語句也會被執行。
switch(someNumber) {
case thisCaseMatches:
doThat();
case thisCaseDoesNotMatch:
shouldntExecuteYetItWillBeExecuted();
default:
alsoWillbeExecuted();
}
2
語義上是的。否則,第一個匹配的後面的所有case語句都會運行。
7
不,你不需要。但是,如果省略break
聲明,則將執行switch
塊內的所有其餘語句,而不管其測試值是否爲case
。
這可能會產生意外的結果有時,如下面的代碼:
switch (grade) {
case 'A':
System.out.println("You got an A!");
//Notice the lack of a 'break' statement
case 'B':
System.out.println("You got a B!");
case 'C':
System.out.println("You got a C.");
case 'D':
System.out.println("You got a D.");
default:
System.out.println("You failed. :(");
}
如果你設置了grade
變量「A」,這將是你的結果:
You got an A!
You got a B.
You got a C.
You got a D.
You failed. :(
3
你做如果您未通過return
或其他操作退出switch
聲明。
2
這是一個很好的做法,在每次陳述之後進行休息。
你不是被迫的。
但是,如果你不放置休息聲明,你已經級聯開關語句,即更多的條件可以匹配,有時這可能會導致邏輯錯誤。
但是有些人認爲級聯語句可以優化代碼,有助於編寫更少的代碼。
+0
它不是(僅)「良好實踐」,它在語義上是否需要! –
相關問題
- 1. 需要幫助 - Switch語句
- 2. switch語句C++幫助
- 3. sql語句幫助
- 4. 幫助if語句
- 5. SQL語句幫助!
- 6. 幫助SQL語句
- 7. 幫助SQL語句
- 8. C++語句幫助
- 9. 在Switch語句設置中需要幫助
- 10. C#switch語句試試並抓取所需的幫助
- 11. 需要幫助改變if else語句到switch case
- 12. 需要幫助瞭解如何使用switch語句
- 13. switch語句中的switch語句?
- 14. Switch語句VS If語句
- 15. SQL語句幫助請求
- 16. PHP幫助if/else語句
- 17. SQL語句DATEPART幫助
- 18. 幫助java如果語句
- 19. 幫助JavaScript if語句
- 20. Select語句需要幫助
- 21. SELECT語句的幫助
- 22. 如果語句幫助(noob)
- 23. SQL語句的幫助
- 24. 幫助編寫SELECT語句
- 25. SQL語句的幫助
- 26. mod_rewrite條件語句幫助
- 27. 如果語句幫助Python
- 28. SQL INNER JOIN語句幫助
- 29. 需要SQL語句幫助
- 30. 幫助一個PHP語句
http://download.oracle.com/javase/tutorial/java/nutsandbolts/switch.html –