Java中&&和&都是表示与的逻辑运算符,都表示逻辑运输符and,当两边的表达式都为true的时候,整个运算结果才为true,否则为false。
&&的短路功能,当第一个表达式的值为false的时候,则不再计算第二个表达式;&则两个表达式都执行。
&可以用作位运算符,当&两边的表达式不是Boolean类型的时候,&表示按位操作。
&&第一个表达式为false
int i = 0;
if(i == 3 && ++i > 0 )
{
}
System.out.println("i = " + i);
console:i = 0 ==>第二个表达式没有执行
&第一个表达式为false
int i = 0;
if(i == 3 & ++i > 0 )
{
}
System.out.println("i = " + i);
console:i = 1 ==>第二个表达式执行了