說說 和 的區別

2022-07-15 01:03:08 字數 534 閱讀 7052

&和&&都可以用作邏輯與的運算子,當運算子兩邊的表示式的結果都為true時,整個運算結果才為true,否則,只要有一方為false,則結果為false。

&&還具有短路的功能,即如果第乙個表示式為false,則不再計算第二個表示式,例如,對於if(a >8 && b > 5),當a小於等於8時,由於&&之前的表示式已經為false了,因此&&之後的表示式根本不會執行;

再例如if(str != null && !str.equals(""))表示式,當str為null時,後面的表示式不會執行,因此不會出現nullpointerexception如果將&&改為&,則會丟擲nullpointerexception異常。

再例如if(x > 8 & ++y)與if(x > 8 && ++y ),當a小於等於8時,前乙個表示式中y的值會增長;後乙個表示式中y的值不會增加。

除此之外,&還可以用作位運算子,當&操作符兩邊的表示式不是boolean型別時,&表示按位與操作,我們通常使用0x0f來與乙個整數進行&運算,來獲取該整數的最低4個bit位,例如,0x31 & 0x0f的結果為0x01。

說說 和 的區別

和 都可以用作邏輯與的運算子,表示邏輯與 and 當運算子兩邊的表示式的結果都為true時,整個運算結果才為true,否則,只要有一方為false,則結果為false。還具有短路的功能,即如果第乙個表示式為false,則不再計算第二個表示式。例如,對於if str null str.equals 表...

說說 和 的區別

和 都可以用作邏輯與的運算子 表示邏輯與 and 當運算子兩邊的表示式的結果都為true時,整個運算結果才為true,否則,只要有一方為false,則結果為false。還具有短路的功能 即如果第乙個表示式為false,則不再計算第二個表示式 例如,對於if str null str.equals 表...

說說 和 的區別

和 都可以用作邏輯與的運算子,表示邏輯與 and 當運算子兩邊的表示式的結果都為true時,整個運算結果才為true,否則,只要有一方為false,則結果為false。還具有短路的功能,即如果第乙個表示式為false,則不再計算第二個表示式,例如,對於if str null str.equals 表...