我有两个功能:functionA()
和functionB()
,两者都有返回类型boolean
。
如果其中任何一个返回true并且functionA返回true,我想继续执行我不希望函数B执行。
As&&工作(如果一个是假的,它不检查另一个),做||工作原理相同吗?
if(functionA() || functionB()){
//Do Your Work
}
上述代码是否符合我的要求?
答案 0 :(得分:6)
由Java Language Specification, §15.24指定:
条件或运算符||运算符就像| (§15.22.2),但仅在其左侧操作数的值为false时才计算其右侧操作数。
答案 1 :(得分:3)
如果你的第一个函数returns true
然后logical OR
会使你的第二个函数短路。
答案 2 :(得分:0)
是的,这将完全符合您的要求。运行function(),如果没有返回true run function()
答案 3 :(得分:0)
如果functionB()
返回functionA()
,则Java中的延迟评估将避免true
。
if(functionA() | functionB())
可以帮助您完成此机制并强制评估您的两个功能。
答案 4 :(得分:0)
是的,如果您希望它执行两者,您将完成if(functionA() | functionB()){
注意,只有一个垂直条
答案 5 :(得分:0)
是的,它肯定会执行function A()
,如果它将返回true,那么function B()
将无法运行,您将根据需要执行其他代码。
答案 6 :(得分:0)
boolean f1 = functionA();
boolean f2 = functionB();
if(f1 || f2){
// if statement
} else {
// else statement
}