zoukankan      html  css  js  c++  java
  • c语言学习笔记 多级else if 和switch case有什么区别

    int option=0;
    
    if(option ==0)
    
    {
    
      dosth();
    
    }
    
    else if(option==1)
    
    {
    
      dosth2();
    
    }
    
    else if(opion==2)
    
    {
    
      dosth3();
    
    }
    
    else
    
    dosth4();

    如果给option的一个值是2的话,那么程序会判断option是否等于0 ,再判断option是否等于1 最后再判断option等于2,多执行了两个判断,当然了,如果直接把option==3的判断放在最前面,那么就执行一次判断就可以了。

    int option=0;
    switch(option){
    case 0:
        dosth1();
        break;
    case 1:
        dosth2();
        break;
    case 2:
        dosth3();
        break;
    default:
        dosth4();
       break;
    }

    把多级elseif改成switch case的话,程序执行的时候就没有判断了,直接就到了option==2的代码处了,可能耗费更少的CPU,更环保了。

    其实有点类似于 从数组中找是否存在某个数一样,一般的算法是分别取得数组中的一个数和待定的数比较,而稍微高级点的办法是用了索引或者hash,直接就找到了,速度更快。

  • 相关阅读:
    JSP内置对象
    Java数据结构
    Java引用传递
    椭圆曲线算法的基本原理及实现
    常见的Java异常
    Java数据结构
    Java数据结构
    重拾JSP
    [洛谷P6185] [NOI online 提高]T1 序列
    [题解][BZOJ1299]巧克力棒
  • 原文地址:https://www.cnblogs.com/yfish/p/9605657.html
Copyright © 2011-2022 走看看