if和switch的區別

2021-07-02 18:54:22 字數 742 閱讀 1139

switch( 表示式)//這個地方不能加分號,表示式必須是字元型或整型

執行過程:

一、計算

二、找case

三、從找到的case開始,往下全部執行

四、若沒找到case,則從default開始往下全部執行,

若沒default則結束switch語句。

五; 遇見case後面的等式後,有break 就會推出迴圈。

if是選擇結構,有三個形式,它們執行是條件成立只會選乙個執行。

第乙個:if (表示式)

語句;第二個:if (表示式)

語句1;

else

語句2;

第三個:

if ( 表示式1 )

語句1;

else if (表示式2 )

語句2;

else if (表示式3 )

語句3;

…...

[ else

語句; ]

switch...case與if...else的根本區別在於,switch...case會生成乙個跳轉表來指示實際的case分支的位址,而這個跳轉表的索引號與switch變數的值是相等的。從而,switch...case不用像if...else那樣遍歷條件分支直到命中條件,而只需訪問對應索引號的表項從而到達定位分支的目的。所以從效率上來說由於if...else的遍歷性,**執行效率是不高的。

if else 和 switch 的區別

一直說想要研究底層原理,把知識學深一些,原來真的像初中的物理老師說的那樣,把基礎的原理都學會,就能做難的題目,高難度題目的框架都是靠簡單的原理搭建的。進入正文 區別 switch i 1 當分支較多時,當時用switch的效率是很高的。因為switch是隨機訪問的,就是確定了選擇值之後直接跳轉到那個...

switch和if語句的選擇區別

switch和多重選擇結構的區別和共同點 相同點在於 都是用來處理多分支條件的結構。不同點在於 switch只能處理等值條件判斷的情況 if選擇結構 基本if選擇結構 處理單一或組合條件的情況 if else選擇結構 處理簡單的條件分支情況 多重if選擇結構 處理複雜的條件分支情況 巢狀if選擇結構...

If 跟 switch 的區別

if 語法如下 在這裡我只寫出一種形式了 if 表示式 方法體 else if 表示式 表示式支援 可以是可以是邏輯表示式 關係表示式 任意的數值型別 包括整型 實型 字元型 指標型資料,但實際上編譯系統會把這個表示式強制轉成邏輯值,一般地false都為0 1或任何非零數值都是trueif 適合 條...