- 情况1
boolean b1 = true;
int num1 = 10;
if(b1 & (num1++>0)){
System.out.println("我现在在北京");
}else{
System.out.println("我现在在南京");
}
System.out.println("num1 = " + num1);
boolean b2 = true;
int num2 = 10;
if(b2 && (num2++>0)){
System.out.println("我现在在北京");
}else{
System.out.println("我现在在南京");
}
System.out.println("num2 = " + num2);
打印结果:
2. 情况2
boolean b1 = false;
int num1 = 10;
if(b1 & (num1++>0)){
System.out.println("我现在在北京");
}else{
System.out.println("我现在在南京");
}
System.out.println("num1 = " + num1);
boolean b2 = false;
int num2 = 10;
if(b2 && (num2++>0)){
System.out.println("我现在在北京");
}else{
System.out.println("我现在在南京");
}
System.out.println("num2 = " + num2);
打印结果:
总结:
&和&&相同点1:&和&&的运算结果相同
&和&&相同点2:当符号左边为true时,两者都会执行符号右边的运算
&和&&的不同点:当符号左边为false时,&会继续执行符号右边的运算,而&&不再执行符号右边的运算
因此推荐使用使用&&和||,效率更高一些