如果switch語句存在,if-else語句的意義何在?真的有一個實際的理由讓他們倆?看起來有點多餘。我想知道的是,對於某種情況下其他方式不起作用的其中一個或另一個必要條件是什麼?如果是這樣的話。如果您可以使用if-else語句,那麼switch語句的要點是什麼?
回答
Switch
陳述可以被認爲是專門的if
陳述。任何可以使用switch
的地方也可以使用if
;然而,switch
通常會更具可讀性。
此外,更重要的是,在我看來,在大多數編譯語言中,switch會比if/else更快,因爲編譯器會生成跳轉表。因爲每種可能性都會有相同的訪問時間,而在if-else語句中,列表中的最後一項將比第一項花費更長的時間。列表越長,性能優勢就越重要。這就是說,一般來說,只有極少數情況下,這種差異會特別明顯或重要。
所以基本上它對專門的工作負荷有用嗎?還有什麼條件,只有和只有交換機可以工作?我知道有些時候只有if-else可以工作,並且switch不能換成布爾運算符,但是它可以反過來工作嗎? if-else是否適合開關,開關適合if-else還是兩者? – Harsh
是的,你可以這樣想。大多數情況下,交換機可以使用它將比if-else更具可讀性,並且不會產生太多影響。沒有地方開關將工作,如果 - 否則不會。 – GentlemanMax
- 1. switch語句是什麼?
- 2. 如果那麼在PeopleSoft查詢語句
- 3. 如果在switch語句中禁用子句,該怎麼辦?
- 4. switch語句中的switch語句?
- 5. SharedPreference ifelse語句
- 6. if語句後使用switch語句
- 7. 是否可以將`if`語句轉換爲`switch`語句?
- 8. switch語句中多個值的powershell語法是什麼?
- 9. 使用switch語句來確定用戶輸入是什麼
- 10. Switch語句VS If語句
- 11. 什麼是調用語句
- 12. 如何使用switch語句?
- 13. 嵌套data.table語句的ifelse語句
- 14. Swift語言中的switch語句,case子句中的執行順序是什麼?
- 15. 如果ifelse,ifelse需要至少有一個其他語句
- 16. sql語句的`FROM`子句中的句點是什麼?
- 17. 太多ifelse語句
- 18. 誤差ifelse語句
- 19. 拒絕ifElse語句
- 20. Switch語句與退格KeyCode一起使用,如果語句不是?
- 21. 甲骨文:如果那麼如何使用select語句
- 22. 什麼是語句查詢
- 23. 什麼是throw語句?
- 24. 什麼是ES6 import語句
- 25. 爲什麼我們在java中需要switch-case語句,如果我們已經有if-else if-else語句
- 26. 在switch語句
- 27. switch語句
- 28. SQL switch語句
- 29. 在switch語句
- 30. JavaScript switch語句
無處不在''switch'聲明工作,'if'也可以。我認爲主要原因是你的代碼的可讀性。 – Sirko
http://stackoverflow.com/questions/680656/what-is-the-difference-between-if-else-and-switch可能重複的問題。 – jewelhuq
http://stackoverflow.com/a/680664/4206206 –