switch case與if else執行效率分析

2021-08-01 12:10:35 字數 572 閱讀 4096

結論:switch...case的效率會比if...else要高一些

一、 if...else語句

對if...else函式反彙編後,能看見這個函式所採用的方法是按順序去比較(jne表示「當不等於時轉移」),如果輸入的數值所對應的if條件靠後的話,會進行較多次的對比判斷後,才能進入對應的分支。

二、 switch...case語句

由上圖可以看出,當開始進行switch匹配時,在

就已經計算出需要跳轉到**進行下一步運算了,當switch的值變化的時候,這裡需要跳轉的位址也會進行變化。對比if...else來看,switch...case不需要多次比較,而是直接跳轉到對應的運算條件,所以,它的效率會比if...else要高一些

基於spring使用策略模式消除if else

當我們的 出現很多if else的時候,這時候 看起來是非常不美觀的,所以可以使用策略模式將if else消除。這次講的主要是基於spring的 public inte ce operationpublic class addoperation implements operation overri...

switch case選擇結構

今天重新學習了switch case選擇結構,對switch case有了新的認識,1 switch case 語句結構 switch 表示式 2 switch case語句執行流程 首先計算表示式的值,然後與case後面的值進行比較,如相等則執行對應case後面的語句體 否則執行default後面...

switch case語句用法

switch case語句用法 2007 12 25 08 11 if語句處理兩個分支,處理多個分支時需使用if else if結構,但如果分支較多,則巢狀的if語句層就越多,程式不但龐大而且理解也比較困難.因此,c語言又提供了乙個專門用於處理多分支結構的條件選擇語句,稱為switch語句,又稱開關...