长路与 两个运算符都会计算,若其中含有i++,则执行i=i+1,i的数值发生改变!
短路与 若第一个表达式为false,则第二个表达式不做计算
与运算,两个表达式全为真,则结果为真,否则结果为假
class HelloWorld {
public static void main(String[] args) {
//长路与 无论第一个表达式的值是true或者false,第二个的值,都会被运算
int i = 2;
System.out.println( i== 1 & i++ ==2 );
//无论如何i++都会被执行,m\即隐藏了一步i=i+1 所以i的值变成了3
System.out.println(i);
//短路与 只要第一个表达式的值是false的,第二个表达式的值,就不需要进行运算了
int j = 2;
System.out.println( j== 1 && j++ ==2 ); //因为j==1返回false,所以右边的j++就没有执行了,所以j的值,还是2
System.out.println(j);
}
}