美文网首页Java部分
java 中的 |= ,^= ,&=

java 中的 |= ,^= ,&=

作者: Geroge1226 | 来源:发表于2020-12-01 17:44 被阅读0次

本文转自:https://www.cnblogs.com/qubaba/p/11558127.html

**|= **

关于 |= 运算符:|= 运算符和 += 这一类的运算符一样,拆解开就是 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】Java中的==

    Java中的== Java中的==表示的是什么呢?有时候很令人费解。比如,以下例子输出是什么? 其中,TestOb...

  • 复习Java基础资料

    Java中面向字符的输入流 Java中的static关键字解析 Java中的main()方法详解 Java中普通代...

  • Java内存泄漏

    Java中的内存管理 要了解Java中的内存泄漏,首先就得知道Java中的内存是如何管理的。 在Java程序中,我...

  • 说说Java内存泄漏

    Java中的内存管理 要了解Java中的内存泄漏,首先就得知道Java中的内存是如何管理的。 在Java程序中,我...

  • №1:Java中的字符串

    1.Java中的StringBuilder类 Java中的StringBuilder用来干什么吃的? 在Java中...

  • Java面试题之JavaSE高级

    一、Java中的反射 1.说说你对Java中反射的理解 java中的反射首先是能够获取到Java...

  • 【JAVA】Java中的继承

    0x01 子类可以使用父类的哪些成员 父类的public,子类可以继承 protected也可以继承,不同包也能继...

  • 【JAVA】Java中的抽象

    0x01 抽象方法 特点 没有方法体 抽象方法必须定义在抽象类或接口 不能是私有的,不能使用final,不能使用s...

  • 【JAVA】Java中的多态

    0x01 多态 一个类对象有各种形态,比如狗是狗类,也是动物类,一个表示当前类,一个表示其父类 0x02 多态的特...

  • 【JAVA】Java中的接口

    0x01 接口 在Java中,接口表示一种规范,要求实现者必须遵循这个规范,用来约束使用者该怎么做 必须要求实现者...

网友评论

    本文标题:java 中的 |= ,^= ,&=

    本文链接:https://www.haomeiwen.com/subject/ixgswktx.html