和 以及 和 的區別

2021-08-04 07:43:50 字數 651 閱讀 1434

&和&&都可以用作邏輯與的運算子,表示邏輯與(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。

| 和 ||都可以做邏輯或的運算子,表示邏輯或(or),當運算子兩邊的表示式的結果都為false時,整數運算結果為false,否則,只要有一方為true,則結果為true。

||還具有短路的功能,即如果第乙個表示式為true,則不在計算第二個表示式,

| 還可以用作位運算子,當 |操作符兩邊的表示式不是boolean型別時,

| 表示按位運算;

和 以及 和 的區別

一 概念 按位與 a b是把a和b都轉換成二進位制數然後再進行與的運算 邏輯與 a b就是當且僅當兩個運算元均為 true時,其結果才為 true 只要有乙個為零,a b就為零。二 與 的區別 和 都可以用作邏輯與的運算子,表示邏輯與 and 當運算子兩邊的表示式的結果都為true時,整個運算結果才...

論「 」和「 」 以及「 」和「 」的區別

論 和 以及 和 的區別 一 分類不一樣 1.和 只屬於邏輯運算符號,輸出結果只有true和false,兩種結果 2.1 和 屬於位運算符號,表示位運算子。x y表示先把x與y轉換成二進位制,再對每一位進行 運算,只要有乙個為1,則結果為1,二個都為0,結果才為0,x y輸出乙個新的數。x y表示先...

陣列和指標的區別(a和 a以及 a 0 的區別)

一 一維陣列 這裡記住陣列的首位址和陣列首元素的位址是不一樣的,雖然他們的值是一樣的,但是代表的意思不一樣 陣列 int a 5 a是陣列的共五個整形資料的記憶體的名字,是一塊連續的位址的名字 a代表首元素的位址同 a 0 是一樣的 所以a 1代表的是第二個元素的位址 a則是整個記憶體空間的位址,所...