Java學習筆記 位運算子

2021-09-19 15:56:19 字數 677 閱讀 2720

1、位運算子只能對整型(byte、short、int、long、char)運算。

2、按位或(|)運算子,可以用作開關,比如:粗體、斜體、下劃線、中劃線。把他們分別用1、2、4、8中的乙個值代表,如果我們既要粗體,又要斜體,就可以開啟對應的開關。

粗體0001

斜體0010

下劃線0100

中劃線1000

3、按位取反:數值變號,再減一。

4、2乘以8,最快的演算法是移位,左移三位(<<),格式如下:5<<3,5左移3位。

5、右移+左移,可以用來判斷是不是偶數

6、&&(短路與) 與 &(不短路與) 區別:

a = 10;

b = 12;

boolean foo = a >15 && b++ > 5;  #這裡的b++不會被運算

boolean foo = a >15 & b++ > 5;  #這裡的b++會被運算

7、你不知道的  += 運算子(它包含強制的型別轉換)

byte b = 1;

b = b+1;    #報錯,編譯通不過

b+=1;  #通過,它相當於  b = (int) (b+1)

java位運算子

按位與運算子 參加運算的兩個資料,按二進位制位進行 與 運算。運算規則 0 0 0 0 1 0 1 0 0 1 1 1 即 兩位同時為 1 結果才為 1 否則為0 例如 3 5 即0000 0011 0000 0101 0000 0001 因此,3 5的值得1。另,負數按補碼形式參加按位與運算。與運...

Java位運算子

今天在學習 hashmap 的時候,發現這麼一段 static final int tablesizefor int cap 方法的作用就是,輸入乙個數,如果該數為2的冪次方,那麼將原數返回回去,如果不是,那麼會返回另乙個數,也會是2的冪次方。看完我就覺得我該好好看看位運算子了。位運算子主要針對二進...

java 位運算子

移位運算子就是在二進位制的基礎上對數字進行平移。按照平移的方向和填充數字的規則分為三種 左移 帶符號右移 和 無符號右移 在移位運算時,byte short和char型別移位後的結果會變成int型別,對於byte short char和int進行移位時,規定實際移動的次數是移動次數和32的餘數,也就...