说我有if
声明
if(condition1 || condition2 || condition3)
{
//do something
}
当我们进入循环时,是否有可能找出3个条件中的哪一个?
答案 0 :(得分:3)
是的,您可以使用以下内容单独检查每个:
if(condition1 || condition2 || condition3) {
if (condition1) { doSomethingOne(); }
if (condition2) { doSomethingTwo(); }
if (condition3) { doSomethingThree(); }
doSomethingCommon();
}
当然假设条件在过渡期间不太可能发生变化(例如,使用线程,中断或内存映射I / O)。
答案 1 :(得分:1)
没有。你必须做类似的事情:
if(condition1 || condition2 || condition3)
{
if (condition1) {
}
if (condition2) {
}
if (condition3) {
}
//do something
}
答案 2 :(得分:1)
有可能通过使用另一个来查询每个条件是真实的,如果有效地渲染第一个条件是无用的。
答案 3 :(得分:1)
一种简单的方法。
if(condition1 || condition2 || condition3)
{
if(condition1){
//do something
}
if(condition2){
//do something
}
if(condition3){
//do something
}
}
或者,如果您知道只有其中一个条件成立,请考虑使用switch
。
答案 4 :(得分:0)
在致电if语句之前,您可以致电:
System.out.println(condition1);
System.out.println(condition2);
System.out.println(condition3);
找出哪些条件属实。 如果您希望根据条件使程序的行为不同,则需要将该代码放在单独的if语句中。
答案 5 :(得分:0)
没有。但是你可以通过: 一世。在3或条件中使用单独的if else 要么 II。在单独的对中打破三个或条件以找出匹配值
答案 6 :(得分:-1)
你有短路操作员。 ||和&&。
所以说比如你有条件,
if(x&& y || z)
如果x&& y并不评估为真,那么y和z永远不会被比较。但是如果X和Y为真,那么它将测试y或z。在这种情况下,您的真实值来自x和y为真,y或z为真的事实。