&&是逻辑与(短路与),当第一个判断条件不满足要求时(返回false),第二个判断条件就不会执行;只有当两个判断条件都返回true时,整个逻辑运算才返回true。
&按位与,不论什么情况下,两边的判断条件都会执行,当两边都返回true时,按位与才返回true。
||逻辑或,当第一个判断条件返回true时,逻辑或直接返回true,第二个判断条件就不会执行了;
|按位或,不论什么情况下,两边的判断条件都会执行,当有一个条件返回true时,按位或就返回true。
注意:
逻辑与、逻辑或两边的运算符必须是boolean类型的,而按位与、按位或可以是boolean类型,两边也可以是int类型的。
当按位与、按位或两边是int类型时,将是通过二进制进行按位运算,规则就是:
(1)按位与&:都为1时,返回1,其他情况返回0;
(2)按位或|:有一个为1时,返回1,都为0时才返回0;