0
while( first1<=last1 || first2<=last2 )

while( first1<=last1 && first2<=last2 )

我只是想确保我是正确的。对于“或”条件,这意味着它只需要其中一个为真才能进入while循环,而“and”条件需要两者都为真才能进入while循环?我第一次在 if 语句中看到“and”和“or”操作,所以我有点困惑。

4

3 回答 3

3

是的!&& 和 || 就像在 if 语句中一样工作。其实可以把while循环的条件理解为if语句——if条件为真,进入循环

于 2014-05-02T23:43:04.647 回答
0

这是java短路的一个经典例子。

int x = 14;
    while(x>10 && x<50)

在此语句中,第一部分为真,但对于 and 语句,两个操作数都必须为真才能执行。现在它查看下一个正确的方面,因此 while 循环将执行。如果 x 是 -11,那么第一部分将是错误的,并且它甚至不会看另一边,因为该陈述已经是错误的。or (||) 也是如此。或者当左侧为真时会短路,然后它甚至不看另一侧。

于 2014-05-02T23:44:53.970 回答
0

它们的工作方式与 if 语句中的完全相同,位置无关紧要。
这里有一些真值表需要澄清。

a      b       a OR b   a AND b
false  false | false  | false
false  true  | true   | false
true   false | true   | false
true   true  | true   | true
于 2014-05-02T23:48:33.167 回答