Java - 简明陈述

时间:2015-08-10 08:55:48

标签: java if-statement

我真的不知道这个问题的标题是什么,花了10分钟,但这是我想出的最好的。

真正的问题是非常基本的,我想我知道答案。但是,与运算符condition ? true-statement : false-statement一样,是否有这种if statement的快捷方式?

    if(intA == -1 || intB == -1 || intC == -1 || intD == -1 || intE == -1)

建议:可以在Java中添加类似的内容:

    if((intA || intB || intC || intD || intE) == -1)

4 个答案:

答案 0 :(得分:2)

不..没有。这些是具有不同值的不同变量。

建议:您可以考虑所有这些变量是否必要。如果所有这些变量都必要,就无法简化。

答案 1 :(得分:1)

Afaik,没有真正的快捷语法。也许你可以用逻辑和/或实现这一点做一些技巧,但我不建议这样做,因为它更难以阅读:

if (((intA | intB | intC) & -1) == -1)

您仍然可以将这些整数添加到集合中,并检查该集合中是否包含-1。

有趣的事实:在Python中,有一个用于比较变量和2个值的语法糖;你可以写 2< a< 3 ,这在Java中是不可能的。但就个人而言,我不知道一种语言,其中存在你所要求的语法糖。

答案 2 :(得分:1)

您应该为此目的使用列表。 对于前者 你可以实现功能

findFirstEquals(List, Int) 

遍历列表,搜索等于第二个参数的第一个元素,如果找到则返回true。

在这种情况下,你的if就像是

intList = ArrayList<Int>()
// put 5, 6, 7,8 etc...
if findFirstEquals(intList, -1) ... 

答案 3 :(得分:0)

您可以使用Switch()语句使其更加轻松,如下所示

 public void myMethod(int intValue)
 {
       switch (intValue) {
                 case -1:  //Your logic here ;
                           break;
                 case 1 : //Another condition
                           break;
                 default: //Default behaviour;
                           break;
       }              
 }  

调用方法myMethod(yourValue)并将您的值传递给它。

传递你的整数值来切换它将根据你传递的值来处理它。

愿这对你有所帮助。