位運算符面試
位運算指的是能夠按照二進制,八進制,十六進制進行數據處理。基本上考慮最多的仍是二進制。在位運算之中,能夠採用數據移位的處理方式實現一些數據的內容變化。
位運算實現的關鍵問題在於要進行十進制和二進制的轉換,這種轉換的原則是數據除2取餘,一直除到餘0爲止,而後按照倒序排列。
知道了二進制的數據變化以後,咱們就能夠利用&(有一個0與的結果就是0),|(有一個1或的結果就是1)進行位的運算學習
public class Hello { public static void main(String args[]) { int numA = 19; int numB = 5; System.out.println(numA & numB); } } 結果是1
19的二進制與5的二進制數進行與運算 public class Hello { public static void main(String args[]) { int numA = 19; int numB = 5; System.out.println(numA | numB); } } 結果是23
位運算最大的特色是能夠進行移位的處理code
public class Hello { public static void main(String args[]) { int num = 2; System.out.println(num << 2); } } 2的二進制向左移位,結果是8; 2的二進制 00000000 00000000 00000000 00000010; 移位處理 00000000 00000000 00000000 00001000;
八進制處理:class
public class Hello { public static void main(String args[]) { int num = 023; System.out.println(num); } } 結果是19
十六進制用0x。二進制
面試題:請解釋&&和&,|和||的區別?
在邏輯運算之中:
1.&&:表示邏輯與運算,若是前面有若干個條件返回了false,那麼後面的條件將再也不判斷。最後結果就是false。
2.&:全部的判斷條件都要執行。
3.||:表示邏輯或判斷,若干個判斷條件若是前面有條件返回了true,那麼後續條件再也不判斷。最終結果就是true。
4.|:全部的條件都要判斷。
位運算
&:運算的兩個數據位,若是有一個位爲零結果就是零,全爲1時結果纔是1。
|:運算的兩個數據位,若是有一個位爲1結果就是1。數據
歡迎加入學習交流羣569772982,你們一塊兒學習交流。static