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

相关文章
相关标签/搜索