Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 这辆我的车的评估结果是什么?它是somePart()的返回值吗?_Java - Fatal编程技术网

Java 这辆我的车的评估结果是什么?它是somePart()的返回值吗?

Java 这辆我的车的评估结果是什么?它是somePart()的返回值吗?,java,Java,这辆我的车的评估结果是什么?它是somePart()的返回值吗 我认为它总是会返回真的。事实上,somePart()永远不会被计算。因为它是介于true和somePart()之间的|运算符,所以它总是返回true 它检查两个条件中的任何一个是否为真,如果它发现这样一个条件为真,则将其设置为真。这是对somePart()的调用从未被计算的一个间接原因。它被计算为true,somePart()从未被调用。它将始终返回true。操作符被称为“短路”操作符,因为如果它发现计算左操作数的结果是true,它

这辆我的车的评估结果是什么?它是somePart()的返回值吗


我认为它总是会返回真的。事实上,somePart()永远不会被计算。

因为它是介于true和
somePart()之间的
|运算符
,所以它总是返回true


它检查两个条件中的任何一个是否为真,如果它发现这样一个条件为真,则将其设置为真。这是对
somePart()
的调用从未被计算的一个间接原因。

它被计算为true,somePart()从未被调用。

它将始终返回
true

操作符被称为“短路”操作符,因为如果它发现计算左操作数的结果是
true
,它就不需要计算右操作数了。在您的情况下,
true
true
,因此不会调用
somePart()

大声读出来

"myCar equals TRUE -or- somePart()"

我们可以缩短函数求值,因为第一个条件总是返回true。

即使somePart()返回false,它也总是返回true。因为somePart()甚至不会被执行。JVM优化逻辑表达式,如果结果已知,则不会运行表达式的其余部分

这是真的。总是。由于逻辑or运算符的行为,如下所示:

Input 1  Input 2   Output
-------  -------   ------
0        0         0
0        1         1
1        0         1
1        1         1

somePart
只有在第一个条件为false时才会被计算,因此它永远不会被计算。&&和| |运算符对两个布尔表达式执行条件and和条件OR运算。这些运算符表现出“短路”行为,这意味着只有在需要时才计算第二个操作数。我不是想说得粗鲁,但最好的学习方法是尝试编写一个示例程序,您可以用它来测试,看看结果如何。在Java中,有
boolean
而不是
bool
。如此编辑。如果您的应用程序依赖于您运行
somePart()
,则这可能是一个严重的问题。事实上,它永远不会。真值表中的一列只能是
true
Input 1  Input 2   Output
-------  -------   ------
0        0         0
0        1         1
1        0         1
1        1         1