![](/img/trans.png)
[英]Created a two condition While loop, one condition works as should the other causes an infinite loop
[英]Two condition while loop
while( first1<=last1 || first2<=last2 )
while( first1<=last1 && first2<=last2 )
我只是想確保自己是正確的。 對於“或”條件,它意味着只需要其中一個為真就可以進入while循環,而“與”條件需要都為真才可以進入while循環? 第一次我沒有在if語句中看到“ and”和“ or”操作,所以我有點困惑。
是的 &&和|| 就像在if語句中一樣工作。 實際上,您可以將while循環的條件解釋為if語句- if
條件為true,請進入循環
這是Java短路的經典示例。
int x = 14;
while(x>10 && x<50)
在此語句中,第一部分為true,但對於and語句,兩個操作數必須為true才能執行。 現在,它看起來是正確的,因此while循環將執行。 如果x為-11,則第一部分將為假,並且由於陳述已為假,因此它甚至不會查看另一側。 或(||)也是如此。 否則,當左側為真時會短路,那么它甚至不會看着另一側。
它們的工作原理與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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.