Java- 分支語句筆記: switch、if-else、三目運算符 的效率問題

switch 與 if-else

  • 結論:一般情況下,switch的效率高於if-else語句
  • 原理:
    1. if …else走邏輯判斷時,每條if語句都獨立需要加載,都要走一遍判斷。
    2. switch…case 只做一次計算,然後將表達式的值與case逐個比較,直到匹配正確。
  • 總結:
    1. switch 雖然效率高,但要求case爲常量
    2. if-else 雖然效率低,但更加的靈活

參考的博文

if-else 與 三目表達式

  • 結論:一般情況下if-else效率要低於三目表達式
  • 原理+總結:
    1. 從類型轉換上看,因爲三目運算符在做判斷的時候需要考慮到類型轉換的問題,而if else 不需要考慮類型轉換。
      所以 if else 效率高一點。
    2. 從總體上看
      A: 需要考慮到循環自身所佔用的時間。
      B: 需要考慮到賦值以及循環內的其他運算符所佔用的時間。
      所以 三目運算符效率高一點.

參考的博文

個人意見:對代碼效率的追求沒有之境,有時候看以只是對代碼優化幾毫秒,但如果這段代碼被運行了十萬百萬次呢?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章