Java逻辑运算有&&,| |和& ,|两组。&&和||是短路逻辑运算,只要左操作数计算结果结果已满足不再计算右操作数,而&和|则不管左是否满足都会计算右操作数。
&&和&运算符规则:
左右操作数都为真,结果为真,否则为假。
||和|运算符规则 :
左右操作数都为假,结果为假,否则为真。
示例1:&&运算符
publicclassDemo1 {
publicstaticvoidmain(String[]args) {
inta=1;
intb=2;
booleanresult=a>b&&++b>3;
System.out.println("a="+a+",b="+b+",result="+result);
}
}
执行的结果如下图所示:
说明:
result变量直接为&&的左操作a>b的计算结果false,程序不再计算右操作数++b>3,故变量b仍为2;
示例2:&运算符
publicclassDemo1 {
publicstaticvoidmain(String[]args) {
inta=1;
intb=2;
booleanresult=a>b&++b>3;
System.out.println("a="+a+",b="+b+",result="+result);
}
}
执行的结果如下图所示:
说明
&的左操作a>b的计算结果已经false,但程序依然计算右操作数++b>3,故变量b值结过++计算后为3。