怎么样多法
假设条件都是int型,可以用switch
假设判断条件比较复杂,并且判断次数比较多,可以考虑采用责任链模式

解决方案 »

  1.   

    如果有else 就用 第二种,没有else就用第一种
      

  2.   

    &&是短路与,在第一种里只要有一个为假,后面的就全不用判断了。所以第二种判断的次数当然要小于等于第一种了...哪一个好就不用说了吧
      

  3.   

    switch ()
    {
       case 1: 
       break;
       case 2: 
       break;
       case 3: 
       break;
    }
      

  4.   

    1 switch支持数字和字符串了。
    2 有时多个if是唯一的方法
      

  5.   

    楼主可以看看,J道里面的文章(你还在用if else吗?)。关于多个if else语句,使用设计模式。
    看适合你的运用场景吗?
    http://www.jdon.com/artichect/ifelse.htm
      

  6.   

    谢谢大家的回复,可能是我没表达清楚,我是想知道,下面两种情况,习惯应该怎样写,不考虑switch或者模式等替代方式。
    1.if(条件1 && 条件2 ...){
         执行代码
      }
    2 if(条件1){
        if(条件2){
          if(条件3){
              执行代码
          }
        }
      }
      

  7.   

    要是嵌套则现在最苛刻的条件,
    不是嵌套考虑switch
      

  8.   

    if条件多就用:
    1.短路
    2.switch(可用类型)简便可用三目运算符。
      

  9.   

    尽量少用if了商业代码中if的个数是有限制的!圈复杂度什么的!
      

  10.   

    JDK1.7  的switch支持string类型哦
      

  11.   

    老大,面向对象编程尽量少用if和switch,用状态模式和策略模式替代把。还有只是if条件比较复杂,建议重构出一个方法,这样代码清晰得多。比如if(xx && xxx && xxxx)改成if(not_fine(...))
      

  12.   

    switch 和 if是面向过程的编程方法,当你要维护代码的时候 你就知道设计模式的强大之处啦
      

  13.   

    反对上面的switch和if,深点说是用设计模式取代他们,浅点说就是用不同的对象来封装不同的功能,不同功能分发给相应的专门对象来处理,这样可以省掉if,比如可以多用内部类,一两句说不清楚。好好去学习一下面向对象的编程