java中的
|=
关于 |= 运算符:|= 运算符和 += 这一类的运算符一样,拆解开就是 a = a | b;
代码如下:
public static strictfp void main(String[] args) { int a = 5; // 0000 0101 int b = 3; // 0000 0011 a |= b; // 0000 00111 System.out.println(a); }
具体规则为:两个二进制对应位为0时该位为0,否则为1。拿5的二进制 0000 0101 和 3的二进制 0000 0011 进行|运算,后三位的的对应位都不是同时等于0,所以最终结果为 0000 0111 也就是7的二进制。
&=
&= 和 |= 基本是一样的,只不过对于比较同位方式不同。
代码如下:
public static strictfp void main(String[] args) { int a = 5; // 0000 0101 int b = 3; // 0000 0011 a &= b; // 0000 0001 System.out.println(a); }
具体规则为:两个二进制对应位都为1时,结果为1,否则结果为都0。拿5的二进制 0000 0101 和 3的二进制 0000 0011 进行&运算,只有最后一位都为1,则最终结果为 0000 0001 也就是1的二进制。
^=
运算规则还是同上。
代码如下:
public static strictfp void main(String[] args) { int a = 5; // 0000 0101 int b = 3; // 0000 0011 a ^= b; // 0000 0110 System.out.println(a); }
具体规则为:两个二进制对应位相同时,结果为0,否则结果为1。拿5的二进制 0000 0101 和 3的二进制 0000 0011 进行^运算,1-5位对应位都是0所以1-5位都为0,第8位都为1所以第8位也为0,其他的对应位都不相等所以为1,则最终结果为 0000 0110 也就是6的二进制。
总结:
|=:两个二进制对应位都为0时,结果等于0,否则结果等于1;
&=:两个二进制的对应位都为1时,结果为1,否则结果等于0;
^=:两个二进制的对应位相同,结果为0,否则结果为1。
网址:java中的 https://mxgxt.com/news/view/1468801
相关内容
浅谈Java中的equals和==Java
Java编程界那些闪耀的明星:揭秘Java名人堂里的传奇人物
StarCCM利用Java宏实现批处置
Java数据分析与可视化
太赞了!《Effective Java 第三版》中文版开源!(附下载链接)
使用Java实现的社交网络分析技术介绍
全面理解Java中继承关系
基于Java的数据可视化工具和应用介绍
java 操作neo4j如何建立关系
随便看看
- 冯远征谈表演类真人综艺:无法体验演员的真正实力
- 明星为拿高片酬耍尽手段,冯远征:根据级别定片酬,他不怕被喷?
- 战神之怒:冯远征一个细节,打脸了?明星合影他没被带上? 昨晚,2024北京文化论坛开幕,周冬雨、马丽、大鹏、宋佳这些明星都悉数到场,看着他们四个一起合照你有没有觉得有点奇怪?冯远征呢?明明也是受邀嘉宾啊! 这合影不带冯远征,是不是有点说不过去?但冯远征却拿着笔,随时准备记录,这个细节却让人眼前一亮这难道就是老戏骨的自我修养? 这不禁让人想起,在娱乐圈这个浮光掠影的地方,明星们总是一起玩,一起合影,...
- 冯远征:跟演员有关的综艺那就是秀,那种“表演”是带引号的
- 陈翔带李小璐闺蜜过夜在一起了吗,陈翔新恋情曝光现在的女友是谁

