在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为真的事实。