哪個邏輯運算符比其他運算符「優先」或「讀取」要好得多。如何/你可以同時使用&&和||在相同的if語句條件中?
例如:
if(x=y || y=y && x=x){}
是用java閱讀本爲:其中一個的兩個:(X = Y || Y = Y)和(X = X)
或如:或者(x = y)或(y = y AND x = x)
聽起來像一些本來會被問到或至少容易找到的東西,但是,「和」+「或」是Google的關鍵字。
哪個邏輯運算符比其他運算符「優先」或「讀取」要好得多。如何/你可以同時使用&&和||在相同的if語句條件中?
例如:
if(x=y || y=y && x=x){}
是用java閱讀本爲:其中一個的兩個:(X = Y || Y = Y)和(X = X)
或如:或者(x = y)或(y = y AND x = x)
聽起來像一些本來會被問到或至少容易找到的東西,但是,「和」+「或」是Google的關鍵字。
運營商&&
優先於||
,所以&&
將首先被評估。
http://introcs.cs.princeton.edu/java/11precedence/
儘管如此,許多程序員會不記得這個事實。使用括號來明確說明預期的評估順序更清晰且更易於維護。在您的代碼編寫
x=y
注意,實際上是賦值運算符,而不是平等的經營者。想必你打算
x==y
x=y || y=y && x=x
只能工作,如果x和y都爲布爾值,因爲=是賦值,因爲你在指定的X = Y在第一操作
任何原因,你就相當於
y || y && y
不能自己測試一下嗎? – 2013-03-26 03:05:32http://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html – Jayan 2013-03-26 03:05:57
在這種情況下,請始終使用括號來表示清晰度 – Krease 2013-03-26 03:06:49