&是位于运算,当它的左右是两个int类型数时,要将它们转化为二进制进行位于运算(即将两个二进制数上的每一位进行 且 运算 )
如:4&3 转化为4位二进制为 0100&0011 执行结果为 0000
7&3 : 0111&0011 执行结果为 : 0011
当两个用到 && 时表示逻辑运算, 它的左右必须为两个布尔值 (常用于if 或循环的判断条件)
如: x < 4 && x != 0 表示的逻辑为x小于4且不等于0
应用:
判断奇偶(如果是奇数):
public boolean isOdd (int a) {
if(a % 2 != 0){
return true;
}
return false;
}
可优化为:
public boolean isOdd(int a) {
if((a & 1) != 1) {
return true;
}
return false;
}