2012-11-29 94 views
-1

我需要知道在語句中如何評估邏輯AND和OR運算符。我找到了幾個試圖解釋它的網站,但我無法正面或反面。我知道我可以用花括號來命令它,但我想知道它是如何工作的。&& ||操作符交互

例如將

if(b1 && b2 || b3) 

評價爲:

(b1 && b2) || b3 

或爲:

b1 && (b2 || b3) 
+3

這些東西都有詳細記錄;哪些資源首先被諮詢? – 2012-11-29 21:39:45

+0

'()'是圓括號,而不是大括號,它們是'{}'。 – Neil

回答

9

您可以在任何operator precedence table&&具有更高的優先級找到比||,這意味着它被評估爲

(b1 && b2) || b3 

不過請注意,這兩個&&||是短路,這意味着b2b3不必進行評估。例如,如果b1評估爲false,則根本不會評估b2。另外,如果b1 && b2評估爲true,則不會評估b3

+0

短路對避免評估可能失敗的表達式非常有用,例如。 if(x> = 0 && myArray [x] ...){...} – Benj

0

&&||工作就像*並在這方面+