1. 按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0
package shenkxiao.test.com;
public class ShenkxiaoTestisOdd {
/**
* @param args
* @author ShenkXiao
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
// 知识关键点: 在int数值中有一半是负数,若根据除2判断其余数是否为1来定奇偶会有1/4的时候返回错误的判断。
//调用错误方法
for(int i=-2;i<3;i++){
System.out.println("***************调用错误方法***************");
System.out.println(i+"为奇数:"+ShenkxiaoTestisOdd.isOdd(i));
System.out.println("***************调用参考方法一***************");
System.out.println(i+"为奇数:"+ShenkxiaoTestisOdd.isOddCorrect1(i));
System.out.println("***************调用参考方法二***************");
System.out.println(i+"为奇数:"+ShenkxiaoTestisOdd.isOddCorrect2(i));
System.out.println("####################################################");
}
}
//错误的判断奇偶数的方法
public static boolean isOdd(int i){
return i%2==1;
}
//参考方法一 :
public static boolean isOddCorrect1(int i){
return i%2!=0;
}
//参考方法二 :
//如果你正在一个性能临界(performance-critical)环境中使用isOdd方法,那么用位操作符AND(&)来替代取余操作符号会显得更好。
public static boolean isOddCorrect2(int i){
return (i&1)!=0;
}
}