逻辑或:| 、 ||
对于|: 在if语句中使用“|”时,表示多个条件都需要判断,即便有表达式返回true,剩余条件仍需要判断。
if(1<2|(10/0==0)){
System.out.println("条件满足");
}
结果报错,是因为1<2成立,但是后面10/0不成立。
||(短路非): 只要有条件返回true,剩余条件不在判断,返回true.
if(1<2||(10/0==0)){
System.out.println("条件满足");
}
结果显示:条件满足
因为1<2条件成立,后面的就不用再判断了。
逻辑与&、&&
&: 当使用“&”时,明确的表示多个条件都判断了,如果在多个表达式中有条件返回了false,剩余的条件也要判断;
&&(短路与): 当使用“&&”,只要有条件返回false,剩余条件不再判断,返回false.
|和&也可以当作位运算符:
与在C语言中|和&的含义相同, |是按位或(按照这个数的二进制位相或),&是按位与(按照这个数的二进制位相与)。