菜鸟、普通、老鸟程序猿如何写奇数判断?--位操作符妙用
生活随笔
收集整理的這篇文章主要介紹了
菜鸟、普通、老鸟程序猿如何写奇数判断?--位操作符妙用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
背景:
在進行程序開發時,經常需要通過判斷一個整數是奇數還是偶數,來實現一些特殊的效果和功能,例如,讓表格的奇數行顯示一種背景顏色,偶數行顯示另一種背景顏色。那么該如何判斷一個整數是奇數還是偶數呢?
讓我們來看一下不同的程序猿都是怎么反應:
1. 菜鳥程序猿
?
代碼就是一個擼字:
public class TestOdd {public static void main(String[] args) {int oddNum=153;System.out.println(isOdd(oddNum));int evenNum=9284;System.out.println(isOdd(evenNum));}public static boolean isOdd(int i){return i % 2 == 1;} }?
搞定!
2. 普通程序猿
上面的代碼一看就是菜鳥寫的,都沒有考慮int的取值范圍,看老孫俺的!
?
public class TestOdd {public static void main(String[] args) {/*** A constant holding the minimum value an {@code int} can* have, -2<sup>31</sup>. @Native public static final int MIN_VALUE = 0x80000000;* A constant holding the maximum value an {@code int} can* have, 2<sup>31</sup>-1. @Native public static final int MAX_VALUE = 0x7fffffff;*/int oddNum=Integer.MAX_VALUE;System.out.println(isOdd(oddNum));int evenNum=Integer.MIN_VALUE;System.out.println(isOdd(evenNum));}public static boolean isOdd(int i){return i % 2!=0;//如果一個數是偶數,就算是負數整除2余數也為0 } }?
老鳥程序猿
?
現在的年輕人都不懂的珍惜呀!%2 很浪費資源的,使用&比較省事。
public class TestOdd {public static void main(String[] args) {/*** A constant holding the minimum value an {@code int} can* have, -2<sup>31</sup>. @Native public static final int MIN_VALUE = 0x80000000;* A constant holding the maximum value an {@code int} can* have, 2<sup>31</sup>-1. @Native public static final int MAX_VALUE = 0x7fffffff;*/int oddNum=Integer.MAX_VALUE;System.out.println(isOdd(oddNum));int evenNum=Integer.MIN_VALUE;System.out.println(isOdd(evenNum));}public static boolean isOdd(int i){return (i & 1)!=0;//1的十六進制為0x00000001,本質是取二進制的最后一位的值 } }?
?
另外記住:除法的話,如是2的x次方的話,使用移位更快哦。
總結:
判斷奇數和偶數在實際生產和生活中也經常使用,具有重大意義,因此程序中也經常需要對奇數和偶數進行處理,例如在使用循環輸出信息時,可以在循環變量是奇數時,輸出一種符號,是偶數時輸出另一種符號。
?
參考資料
【1】java解惑
【2】https://zhidao.baidu.com/special/view?id=ee785a24626975510400
轉載于:https://www.cnblogs.com/davidwang456/p/11436037.html
總結
以上是生活随笔為你收集整理的菜鸟、普通、老鸟程序猿如何写奇数判断?--位操作符妙用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java Integer中隐藏的细节魔鬼
- 下一篇: 一块钱哪里去了?--java浮点型背后的