&既是邏輯運算子,又是位運算子,當&作為邏輯運算子時屬於非短路型,而&&只是短路型邏輯運算子
&和&&都可以用作邏輯與的運算子,表示邏輯與(and),當運算子兩邊的表示式的結果都為true時,整個運算結果才為true,否則,只要有一方為false,則結果為false。
&&還具有短路的功能,即如果第乙個表示式為false,則不再計算第二個表示式,例如,對於if(str != null && !str.equals(「」))表示式,當str為null時,後面的表示式不會執行,所以不會出現nullpointerexception如果將&&改為&,則會丟擲nullpointerexception異常。
下面舉個例子
public class test
} //end
執行的結果是:
month=8 day=1
month=8 day=2
java中equals 與 的區別
public class teststring 這個程式真是簡單啊!可是有什麼問題呢?1.來自 string 的憂慮 上面這段程式中,到底有幾個物件呢?可能很多人脫口而出 兩個,s1 和 s2 為什麼?string 是 final 類,它的值不可變。看起來似乎很有道理,那麼來檢測一下吧,稍微改動一下...
Java中 與equals的區別
equals和 是兩個很容易混淆也是很多初學者容易搞不清的比較 方法 下面舉個例子,大家就一目了然了 比如 integer int1 new integer 1 integer int2 new integer 1 string str1 new string hello string str2 n...
Java中 與 equals的區別
比較的是引用,較equals嚴格,要求兩個比較物件指向同乙個物件的位址。equals 比較的是值相等,可以是兩個不同的物件引用。注意有一點 equals是object物件的成員方法,也就是說我們可以通過重寫equals 改變判斷兩個物件的值相等的標準,完全有可能兩個物件的值理論上不相等 如3!5 通...