各位小伙伴们,大家好!
在Java中,“& ^ | <
“&”运算符
“&”运算符呢,就是“按位与”,跟我们在中学时所学的“且”(不记得是不是这个了,但我是这样叫的)是一样的,也就是所谓“全真为真,一假为假”。在java里,“&”运算符也是这样的,只是这里的“真”与“假”是使用的“1”与“0”代替的。“&”运算的“真假”情况如下:
- 当然,这个我们具体的应用跟上面有点不同。比如我们举个例子:
可能有的人觉得:0=flase,那么非0就是true;所以c=a&b=1=true(为什么这么说呢,因为以前我就是这样认为的)。但是,真的是这样吗,其实并不是的,c的值应该是4。具体步骤如下:
“|”运算符
“|”运算符呢,就是“按位或”。跟中学时期的“或”差不多(应该是叫这个),它遵循的原则就是“全假为假,一真为真”。同样的,这里的真假就是“1与0”。
而对于它的运算也是如此的,如下图:
“^”运算符
"^"运算符,就是“按位异或”。但是值得注意的是,它并不是中学时期的“非”运算符,“非”运算符是”~“(名字:取反)。它的原则就是“同则假,异则真”,具体意思如下图:
还是举个4与6的例子:
“<>”运算符
“<与“>>”就是我们的“左移”运算符与“右移”运算符。主要作用呢,就是进行二进制位的左右移动。它遵循的原则就是:左移,左边的位数舍弃,右边的位数用0不上。右移,右边的位数舍弃,左边的位据原数补位(补位规则是:正数补0,负数补1)。
- 当然,还是举个例子:
提示:非专业人士解读,全靠百度与自己理解。如有错误,欢迎指出!