Java的逻辑运算与位运算的区别

    xiaoxiao2025-01-21  8

    简单介绍Java中的逻辑运算与位运算

    逻辑运算

    逻辑运算符:!、&&、||

    优先级:!>&&>||

    逻辑运算符的使用方法:

    op1op2op1&&op2op1||op2!op1truetruetruetruefalsetruefalsefalsetruefalsefalsetruefalsetruetruefalsefalsefalsefalsetrue

    位运算

    位运算符:

    运算符用法含义规则&op1&op2按位与全1则1,否则为0|op1|op2按位非全0则0,否则为1^op1^op2按位异或相同为1,不同为0~~op1按位非遇1则0,遇0则1<<op1<< x左移运算符x为左移的位数>>op1>> x右移运算符x为右移的位数

    使用位运算符运算的方式是对二进制进行按位运算的,比如:

    a,b要进行“按位与”运算,先转化为二进制,计算结果是相同位上只有都为1时才为1,否则为0。

    注意:

         按位异或运算是可逆的,即如果对某个数据a进行两次相同的异或运算,则结果会还原为a,如对数值3进行两次和5的异或运算

    3^5=6;  6^5=3

    单从符号和含义上可以感觉到逻辑运算与位运算有很多相似的地方,下面说说两者的区别:

    逻辑运算与位运算的区别

    1.逻辑运算符只能针对boolean类型进行逻辑运算,而位运算还可以对数值进行逻辑运算。

    2.逻辑运算符有短路情况,即前面的表达式可以得到最终结果时,后面的表达式将不被执行。

    比如:

     

     

     

     

     

     

     

     

     

     

    最新回复(0)