if(function()|| function())。它在java中是如何工作的?

时间:2013-07-03 10:25:15

标签: java if-statement

我有两个功能:functionA()functionB(),两者都有返回类型boolean

如果其中任何一个返回true并且functionA返回true,我想继续执行我不希望函数B执行。

As&&工作(如果一个是假的,它不检查另一个),做||工作原理相同吗?

if(functionA() || functionB()){
//Do Your Work
}

上述代码是否符合我的要求?

7 个答案:

答案 0 :(得分:6)

Java Language Specification, §15.24指定:

  

条件或运算符||运算符就像| (§15.22.2),但仅在其左侧操作数的值为false时才计算其右侧操作数。

答案 1 :(得分:3)

如果你的第一个函数returns true然后logical OR会使你的第二个函数短路。

http://en.wikipedia.org/wiki/Short-circuit_evaluation

答案 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
}