&& 逻辑与 vs & 按位与
vagabond1-1983 opened this issue · comments
直接上代码
/**
* && 逻辑与 vs & 按位与
* 一般用逻辑与&&就好
* && 逻辑与也称作短路连接,第一个条件不满足则不再继续下一个条件的判断,直接判定整个表达式为false
*/
private static void logicalVSBit() {
//&&只要第一个条件是false,就不会去执行第2个条件
//但&不管第一个条件是不是false,都会执行第2个条件遇到这样的情况,结果就会不一样了
int i = 1;
int j = 1;
if ((i++ < 0) & (j++ > 0)){
}
System.out.println("按位与之后j=" + j);
i = 1;
j = 1;
if ((i++ < 0) && (j++ > 0)){
}
System.out.println("逻辑与之后j=" + j);
}