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

    xiaoxiao2023-11-18  129

    首先介绍一下逻辑运算符

    运算符

    用法

    含义

    &&

    op1&&op2

    逻辑与

    ||

    op1||op2

    逻辑或

    !op

    逻辑非 

    然后我们在看一下逻辑运算符的使用规则

     

    op1

    Op2

    op1&&op2

    op1||op2

    !op1

    true

    True

    true

    true

    false

    True

    False

    false

    true

    false

    False

    True

    false

    true

    true

    False

    False

    false

    false

    true

    然后我们看一下位运算符

     位运算是将数据先转化为二进制数补码形式,再逐位(bit)按规则计算。

    “按位与”运算符“&”,规则:全1则1,否则为0

    “按位或”运算符“|”,规则:全0则0,否则为1。 “按位非”运算符“~”,规则:遇1则0,遇0则1。 “按位异或”运算符“^”,规则:相同为0,不同为1。

    接下来我们看一下

    逻辑运算符(&&、||)与位运算符(&、|)的区别:

    辑运算符只能针对boolean类型进行逻辑运算,而位运算还可以对数值进行逻辑运算。 逻辑运算符有短路情况,即前面的表达式可以得到最终结果时,后面的表达式将不被执行

    下面我们就用一个程序来展现出位运算符与逻辑运算符的区别

    public class shi{ public static void main(String [ ] args){ int x=10; int y=10; if((x=0)==0||(y=20)==20){ System.out.println(y); } int a=10;int b=10; if((a=0)==0 | (b=20)==20){ System.out.println(b); } } }

    接下来我们看一下运行结果

    由此可见逻辑运算符||当连接的第一部分为true时就不再执行右侧程序,故输出结果为10,而位运算符|则左右部分都会执行,所以输出结果是20.

     

     

     

    最新回复(0)