【转】switch与if的区别

简介: 【转】switch与if的区别如果纯粹比较数字或字符,建议使用switch,因为它只会在一开始的switch括号中取出变量值一次,然后将这个值与下面所设定的case比较,但如果使用if,每次遇到条件式时,都要取出变量值,效率的差异就在这儿。

【转】switch与if的区别

如果纯粹比较数字或字符,建议使用switch,因为它只会在一开始的switch括号中取出变量值一次,然后将这个值与下面所设定的case比较,但如果使用if,每次遇到条件式时,都要取出变量值,效率的差异就在这儿。例如:

if(a == 1)  
  //...  
else if(a == 2)  
  //...  
else if(a == 3)  
  //...

这个程序片段在最差的状况下,也就是a = 3时,共需3次比较,而每次比较都必须取出变量a的值一次。如果换成switch:

switch(a)  
 
  case 1:  
  //...  
  break;  
  case 2:  
  //...  
  break;  
  case 3:  
  //...  
  break;  
}

在这个程序片段中,只在开头switch的括号中取出变量a的值,然后逐一比较下面的case,效率的差别就在这儿。当然并不是使用if就不好,遇到复合条件时,switch就帮不上忙了,由于无法在switch中组合复杂的条件语句,这时就得使用if了。简单地说,if与switch两者可以搭配着灵活使用。


我 顶 这个

目录
打赏
0
0
0
0
13
分享
相关文章
if-else if与switch的区别
if-else if与switch的区别
219 0
|
8月前
|
switch的使用
这段 Java 代码首先提示用户输入一个代表月份的数字。通过 `Scanner` 类从键盘接收输入后,使用 `switch` 语句根据输入的数字来判断所属季节并输出相应的信息。例如,1、2 或 12 月为冬季。若输入不在 1 至 12 的范围内,则输出错误信息。此外,还展示了仅针对单个特定月份(如 1 月)进行匹配的简化示例。 ```markdown - 提示用户输入月份。 - 使用 `Scanner` 获取输入。 - 通过 `switch` 语句根据输入判断季节。 - 输出对应季节或错误信息。 - 展示了处理单个和多个月份的 `case` 示例。 ```
71 4
learn_C_deep_7 (switch 语句的基本理解、case 的作用、break的作用switch、case 推荐规则)
learn_C_deep_7 (switch 语句的基本理解、case 的作用、break的作用switch、case 推荐规则)
102 0
使用C模拟ATM练习switch..case用法
版权声明:您好,转载请留下本人博客的地址,谢谢 https://blog.csdn.net/hongbochen1223/article/details/44941799 这个实例很简单,看一下就能明白,至于我已经对C比较熟悉了,为什么还要从这么简单的例子入手,这个需要再详细的说明一下。
876 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等