1、逻辑运算符&与位运算符&的区分
boolean b1 = true;
boolean b2 = false;
boolean b3 = b1&b2; //false;此时是逻辑与
int i1 = 1;
int i2 = 2;
int i3 = i1&i2; //1;此时为位与
//总结:比较布尔型时为逻辑与,比较整型时为位与
2、逻辑与与短路与
boolean b1 = true;
int i=1;
//当第一个条件为true时,均能执行第二个条件
if((b1==true)&(i++)){
i;//i=2
}
if((b1==true)&&(i++)){
i;//i=2
}
//当第一个条件为false时,与运算正常执行第二个条件;短路与不执行第二个条件
if((b1==false)&(i++)){
i;//i=2
}
if((b1==false)&(i++)){
i;//i=1
}