我如何在if语句中包含多个条件?

时间:2017-04-19 01:25:59

标签: java if-statement compiler-errors

我希望if语句中有多个选项,例如if (Option1.equalsIgnoreCase("x" && "y"))。但是,当我真正尝试编写上述代码时,它不会工作。我的目标是,如果满足2或3个标准中的一个,if语句就可以工作。

4 个答案:

答案 0 :(得分:1)

您必须将支票拆分为不同的支票,您不能只在一次支票中将它们合并。

逻辑AND的示例,如果 optional1 等于XY(它不能),则下面的代码将返回true。注意我使用了&&运算符,称为 AND 运算符: -

if(Option1.equalsIgnoreCase("x") && Option1.equalsIgnoreCase("y")){
 // do something
}

逻辑OR的示例。如果 optional1 等于XY,则代码将返回true。注意我使用了||,称为 OR 运算符。

if(Option1.equalsIgnoreCase("x") || Option1.equalsIgnoreCase("y")){
     // do something
    }

OR和逻辑AND运算符的组合。(如果optional1等于X或Y且option2等于Z,则返回true。)

 if((Option1.equalsIgnoreCase("x") || Option1.equalsIgnoreCase("y")) && Option2.equalsIgnoreCase("Z")){
         // do something
        }

。这样可以结合多种条件。

答案 1 :(得分:0)

如果你想做什么,如果Option1是" x"或" y"使用以下内容:

if (Option1.equalsIgnoreCase("x") || Option1.equalsIgnoreCase("y")) {
    //do stuff
}

||表示OR,而&&意味着和。如果你愿意使用&&选项1必须同时为x和y,这是不可能的。

答案 2 :(得分:0)

您可以使用正则表达式

unittest.TestCase

哪个是x或y的字符串?

答案 3 :(得分:-1)

不幸的是,Java没有这样的条件。

您必须将支票分成if语句中的两个子句,例如:

if ("x".equalsIgnoreCase(Option1) || "y".equalsIgnoreCase(Option2) {
   ....
}

注意到我使用了||(或OR)而不是&&(AND),好像我们使用&&一样,它永远不会是真的(一个字符串永远不能同时出现) “x”和“y”)。

here中的更多信息。