在if语句中哪个条件为真

说我有if语句

 if(condition1 || condition2 || condition3) { //do something } 

当我们进入循环时,是否有可能找出3个条件中的哪一个是真的?

是的,你可以单独检查每一个,例如:

 if(condition1 || condition2 || condition3) { if (condition1) { doSomethingOne(); } if (condition2) { doSomethingTwo(); } if (condition3) { doSomethingThree(); } doSomethingCommon(); } 

当然假设条件在过渡期间不太可能发生变化(例如,使用线程,中断或内存映射I / O)。

不,你必须做以下事情:

 if(condition1 || condition2 || condition3) 

{

 if (condition1) { } if (condition2) { } if (condition3) { } //do something 

}

通过使用另一个条件查询每个条件是否真实,可以找出哪个条件是真的,如果有效地渲染第一条条件是无用的。

一个简单的方法。

 if(condition1 || condition2 || condition3) { if(condition1){ //do something } if(condition2){ //do something } if(condition3){ //do something } } 

或者,如果您知道只有其中一个条件成立,请考虑使用switch

在调用if语句之前,您可以调用:

 System.out.println(condition1); System.out.println(condition2); System.out.println(condition3); 

找出哪些条件是真的。 如果您希望根据条件使程序的行为不同,则需要将该代码放在单独的if语句中。

不。但是你可以通过以下方式实现:i。 如果在3或条件中使用,则使用单独的或ii。 在单独的对中打破三个或条件以找出匹配值

你有短路运营商。 || 和&&。

所以说比如你有条件,

if(x && y || z)

如果x && y没有评估为真,那么永远不会比较y和z。 但是如果X和Y为真,那么它将测试y或z。 在这种情况下,您的真实值来自x和y为真,y或z为真的事实。