1.判断数值是否为偶数?
答: 新学习时候,遇到这种题目都是直接上来就是对参数对2取余
num %2 ==0 ,今天偶然看到一种写法 .
/**
* 判断数字是否是偶数
* @param num
* @return
*/
public static boolean isEven(int num){
return (num & 1)==0;
}
该方法运用了 与(&) 运算符,直接比较了两个数字的二进制, 所有的奇数的二进制不管前面的有多少位 ,最后一位都会是1 ,该方法巧妙的运用了 & 运算符号. 快速进行比较
假设num 为10
过程为 1010
0001
则结果为0 .
效率相比num %2 ==0 真的是提高了很多,不得不感叹真的要多看面试题,开阔一下自己的思路和格局.
不定期更新—
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)