&和&&都可以用作邏輯與的運算子,表示邏輯與(and),當運算子兩邊的表示式的結果都為true時,整個運算結果才為true,否則,只要有一方為false,則結果為false。
&&還具有短路的功能,即如果第乙個表示式為false,則不再計算第二個表示式,例如,對於if(str != null && !str.equals(「」))表示式,當str為null時,後面的表示式不會執行,所以不會出現nullpointerexception如果將&&改為&,則會丟擲nullpointerexception異常。if(x==33 & ++y>0) y會增長,if(x==33 && ++y>0)不會增長。
&還可以用作位運算子,當&操作符兩邊的表示式不是boolean型別時,&表示按位與操作,我們通常使用0x0f來與乙個整數進行&運算,來獲取該整數的最低4個bit位,例如,0x31 & 0x0f的結果為0x01。
Java中 和 的區別
第十一,short s1 1 s1 s1 1 有什麼錯?short s1 1 s1 1 有什麼錯?引出一下討論。賦值運算子,在編譯器將右邊的表示式結果計算出來後,和左邊的變數型別比較精度,如果左邊的變數精度低於右邊的結果的精度,編譯器會顯式的報錯,告訴程式設計師去強制轉型。所以s1 s1 1出錯 最...
Java中 和 的區別
這兩者都是表示邏輯與,只有當兩邊都是true時,返回true,只要有乙個false則結果返回false。還具有短路的功能,即如果第乙個表示式為 false,則不再計算第二個表示式,例如,對於 if str null str.equals 表示式,當 str 為 null 時,後面的表示式不會執行,所...
Java中 和 的區別
相同點 和 都可以用作邏輯與的運算子,表示邏輯與 and 當運算子兩邊的表示式的結果都為true時,整個運算結果才為true,否則,只要有一方為false,則結果為false。不同點 1 還具有短路的功能,即如果第乙個表示式為false,則不再計算第二個表示式,例如,對於if str null st...