&和&&都可以用作逻辑与的运算符,&&为短路与,&不是短路与,可以作为整数的位运算符;
举两个例子:
1:对于if(str!=null && str.equals(""))这个表达式,当str == null 时,后面的表达式就不会执行,也不会出现NullPointerException(空指针异常),如果将 && 改为 & 则会抛出 NullPointerException(空指针异常)。
2:if( x = 10 & y++>0)y会增长,if( x = 10 && y++>0)y不会增长;