我需要知道在語句中如何評估邏輯AND和OR運算符。我找到了幾個試圖解釋它的網站,但我無法正面或反面。我知道我可以用花括號來命令它,但我想知道它是如何工作的。&& ||操作符交互
例如將
if(b1 && b2 || b3)
評價爲:
(b1 && b2) || b3
或爲:
b1 && (b2 || b3)
我需要知道在語句中如何評估邏輯AND和OR運算符。我找到了幾個試圖解釋它的網站,但我無法正面或反面。我知道我可以用花括號來命令它,但我想知道它是如何工作的。&& ||操作符交互
例如將
if(b1 && b2 || b3)
評價爲:
(b1 && b2) || b3
或爲:
b1 && (b2 || b3)
您可以在任何operator precedence table該&&
具有更高的優先級找到比||
,這意味着它被評估爲
(b1 && b2) || b3
不過請注意,這兩個&&
和||
是短路,這意味着b2
和b3
不必進行評估。例如,如果b1
評估爲false
,則根本不會評估b2
。另外,如果b1 && b2
評估爲true
,則不會評估b3
。
短路對避免評估可能失敗的表達式非常有用,例如。 if(x> = 0 && myArray [x] ...){...} – Benj
&&
和||
工作就像*
並在這方面+
。
這些東西都有詳細記錄;哪些資源首先被諮詢? – 2012-11-29 21:39:45
'()'是圓括號,而不是大括號,它們是'{}'。 – Neil