switch case語句和if的區別
if和switch都是條件判斷語句,在效果上是沒有什么差別的,而不同,我們可以從效率上來講~ 舉一個很簡單的例子: if(A>B) {A=B;} else {B=A; } 如果將這個例子放在switch 語句中,也并不是不能實現,但是實現起來可能會比較麻煩一些,因為在switch語句中 case中要求的是常量,一般是不能進行邏輯判斷的, 所以這也是if語句優于switch語句的地方! 但是如果您判斷的都是幾個常量的數據,我建議您最好采用switch語句,如下: switch(A) { case:xxxx ///程序代碼 break; case:xxxxxx ///程序代碼 break; } http://** 這樣的語句,雖然if語句也是能實現的,但是性能就比switch差的有點遠了。
Switch 語句比if語句有什么好處
這樣說吧switch語句是為了簡化if的流程分支,簡化一部分代碼。但是既然是簡化部分,功能就會稍微有點欠缺。舉個例子:
int i=9;
if(8==i)
cout<<"zhao"<<endl;
else if(7==i)
cout<<"qian"<<endl;
else if(4==i)
cout<<"sun"<<endl;
else if(1==i)
cout<<"li"<<endl;
else if(0==i)
cout<<"zhou"<<endl;
else if(19==i)
cout<<"wu"<<endl;
對于:
int i=9;
switch(i)
{
case 8:
cout<<"zhao"<<endl;
break;
case 7:
cout<<"qian"<<endl;
break;
case: 4
cout<<"sun"<<endl;
break;
case 1:
cout<<"li"<<endl;
break;
case 0:
cout<<"zhou"<<endl;
break;
case 19:
cout<<"wu"<<endl;
break;
}
switch中的i的定義相對來說比較有限,i的類型只能是基本類型:int char等
但是if就沒有那么多限制。
權衡利弊,往往需要自己斟酌使用。利弊相依。
呵呵
轉載請注明出處華閱文章網 » switch語句if