微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

简化Java IF-ELSE

如何解决简化Java IF-ELSE

想象一下,有一个带有n个条件的“ if语句”:

.subtract {
    float: left;
    width: 30%;
    height: 100%;
    transform: skewY(30deg) translate(0px,-100px);
}

.rectangle {
    float: left;
    width: 70%;
    height: 100%;
}

.wrapper {
    width: 100%;
    height: 500px;
}

可以这样重写吗:

if (a == b || x == '0' || z == '1' .... || s == 'e') {      // < n conditions 
    result = do_something(); 
}

与由OR / AND运算符分隔的多个条件相比,它更具可读性,并且不那么麻烦。如果需要添加其他条件,那么我们可以添加其他情况。

这可能吗?如果是,那么请共享一个实现。

原始的“ if语句”本身是否是编码错误的结果,因此应作为暗示需要重新审查和改进整个代码提示

解决方法

简短的回答是不能,您也不应该。 您可以简单地以一种不错的方式对其进行格式化:

if (a == b 
   || x == '0' 
   || (z == '1' &&  a == 'e')
   || s == 'e') {      
    result = do_something(); 
}

长答案是可以的,但这将是混乱且不清楚的!

在Java(和大多数其他语言)中,切换用于“切换” enumeration。因此,您无法使用x == b之类的布尔表达式进行切换。甚至没有像这样简单的事情:

 //NOT REAL JAVA CODE
 switch (true) {
        case true:
            Sytem.out.println("true");
            break;
        case false:
            Sytem.out.println("false");
            break;
    }

如果真的要升级,请考虑以下想法以简化

  • 评论更多
  • 改为使用循环
  • 改为使用更多Ifs
  • 使用真值表简化if
,

对于预定义集中的选项数量有限(例如:星期几)的情况,switch语句是很好的选择。 我们不能在switch语句中比较所有类型的对象和基元。我们不能将null值作为参数传递给switch语句。如果这样做,该程序将抛出NullPointerException。

如果您进行搜索,则会发现更多此类内容。因此,仅出于可读性考虑,请勿更改if语句以切换大小写。您可以通过合理地设置格式,使if语句更具可读性,使用嵌套的if来添加对if块的注释以提及条件的使用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。