&和&&都是逻辑运算符号,&&又叫短路运算符 区别如下
1 int i=1;2 if(i==2 & i++==2){} //i==2为false,但i++==2还会继续比较,所以i++被执行3 System.out.println(i);//i 打印出来为24 int j=1;5 if(j==2 && j++==2){} //j==2为false,但j++==2不会继续比较,所以j++不被执行6 System.out.println(j);//j打印出来为1
& 不管前面的条件是否正确,后面都执行 && 前面条件正确时,才执行后面,不正确时,就不执行,就效率而言,这个更好