我对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 –