Java運算符

Java之運算符java

java運算符分爲算數運算符、位運算符、邏輯運算符、其餘運算符(三元運算符),具體以下:算法

&(按位與)

 

&按位與的運算規則是將兩邊的數轉換成二進制位, 最後運算最終值,其運算法則爲:兩個數都爲真,最終值才爲真,一個假既值爲假。(1&1=一、1&0=0、0&1=0、0&0=0)spa

3的二進制位是0000 0011,5的二進制位是0000 0101,那麼就是011 & 101,由按位與運算的規則可求得,最終值爲001,既值爲1。blog

7的二進制位是0000 0111,那就是101 & 111等於101,也就是0000 0101,估值爲5class

&&(邏輯與)

 

&&邏輯與也稱爲短路邏輯與。先運算&&左邊的表達式,一旦爲假,後續無論多少的表達式,均再也不計算,一個爲真,在計算後邊的表達式,兩個爲真才爲真。二進制

|(按位或)

|按位或和&按位與計算方式都是轉換二進制再計算,不一樣的是計算規則(一個爲真即爲真)1|0 = 一、0|1 = 一、1|1 = 一、0|0 = 0im

8的二進制位0000 1000,2的二進制位是0000 0010,1000 | 0010,最終值爲1010,故8|2=10db

 ||(邏輯或)

邏輯或||的運算規則是一個爲真即爲真,後續再也不計算,一個爲假再計算後邊的表達式。img

^(異或運算符)

^異或運算符就是字面意思,異就是不一樣,其運算規則爲1^0 = 一、1^1 = 0、0^1 = 一、0^0 = 0di

5的二進制位是0000 0101,9的二進制位是0000 1001,也就是0101^1001,結果爲1100,00001100的是十進制爲是12

<<(左移運算符)

5<<2的意思爲5的二進制位往左挪兩位,右邊補0,5的二進制位是0000 0101,就是把有效值101往左挪兩位就是0001 0100,正數右邊第一位補0,負數補1,等於乘於2的n次方,十進制位是20

>>(右移運算符)

凡是運算符都要先把值轉換成二進制再進行後續的運算,5的二進制位是0000 0101,向右移兩位就是把101右移後兩位,正數左邊第一位補0負數補1,等於乘於2的n次方,結果爲1

 ~(取反運算符)

取反就是把要處理的數先轉換爲二進制,1爲0,0爲1,10 的二進制位是0000 1010,取反以後就是1111 0101,值爲-11

>>>(無符號右移運算符)

正數無符號右移

無符號右移運算符和右移運算符的主要區別在於負數的計算,由於右移運算符是高位補0,移多少位補多少個0

15的二進制是0000 1111,右移兩位就是0000 0011,最終值爲3

相關文章
相關標籤/搜索