逻辑运算符 功能
||(短路或) 都为false,则false。有一个为true便不再继续判断了
|(逻辑或) 都为false,则false。所有的条件都判断
&&(短路与) 都为true,则true。有一个为false便不再继续判断了
&(逻辑与) 都为true,则true。所有的条件都判断
!(非) 变成相反的样子
^(异或) 相同则为false,不相同则为true

1.||和|号

int a = 10;
int b = 4;
//短路或    一个成立,后面的不运行了
if (a > 0 || (b++) > 4){                    
    System.out.println("a > 0 | (b++) > 4");
    System.out.println(b);                  //用来判断后面的b++是否被执行    
}
//逻辑或   所有的都运行
if (a > 0 | (b++) > 4){
    System.out.println("a > 0 | (b++) > 4后b的值为:");
    System.out.println(b);                  //用来判断后面的b++是否被执行
}

结果:

在这里插入图片描述

可以很明显的看到a>0成立 | 后面的也执行了而||就没有执行

2.&&和&号

int a  = 10;
int b = 4;
//短路与               一个成立,后面的不运行了
if (a > 100 && (b++) <5){
}
System.out.println("a < 100 && (b++) <5后b的值为:");
System.out.println(b);                             //用来判断后面的b++是否被执行

//逻辑与              所有的都运行
if (a > 100 & (b++) <5){
}
System.out.println("a < 100 & (b++) <5后b的值为:");
System.out.println(b);                             //用来判断后面的b++是否被执行

结果:

在这里插入图片描述

可以很明显的看到 a>100条件不成立 &后面的也执行了而&&就没有执行

3.^号

Boolean boolean1 = 4 > 5;   //false
Boolean boolean2 = 4 > 3;   //true
Boolean boolean3 = boolean1 ^ boolean2;        //相同为false,不同为true结果应为true
int num1 = 10;        //  二进制为:1010
int num2 = 7;         //二进制为:   111    
System.out.println(boolean3);
System.out.println(num1 ^ num2);   //相同为0,不相同为1  结果二进制为1101  变成十进制为13

结果:

在这里插入图片描述

4.!号

boolean bool = false;
System.out.println(!bool);         //变为true
System.out.println(!!bool);        //又变回false

结果:

在这里插入图片描述

java中 >>带符号右移 >>>无符号右移 和 <<带符号左移的认识和理解

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐