&和&&的区别

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