在编程的过程中,我们经常会遇到判断偶数的地方,比如列表判断偶数位置加个背景等等以前我一直以为判断偶数就两种方式,直到看了网上的各路大佬,我才发现判断偶数原来还可以这么玩,简直是让我“惊喜连连”呀下面就来一一介绍,其中前两种也是最容易想到,也是用得最多的方式,我来为大家科普一下关于判断一个数是否为奇数偶数?以下内容希望对你有帮助!

判断一个数是否为奇数偶数(判断偶数的方式这么多)

判断一个数是否为奇数偶数

在编程的过程中,我们经常会遇到判断偶数的地方,比如列表判断偶数位置加个背景等等。以前我一直以为判断偶数就两种方式,直到看了网上的各路大佬,我才发现判断偶数原来还可以这么玩,简直是让我“惊喜连连”呀。下面就来一一介绍,其中前两种也是最容易想到,也是用得最多的方式。

1.二进制法

我们都知道计算机中的数字都是二进制来表示,各位上的数字不是0就是1,比如5的二进制是101,6是110,7是111,8是1000等等,在此就不一一列举了。我们发现列举的这4个数有一个特点,奇数的最后一位是1,偶数的最后一位是0,利用这个特点很容易就能判断了,代码实现如下

public boolean isEven(int number) { return (number & 1) == 0; }

2.取余法

上学时我们学过,能被2整除的数就是偶数,不能整除的就是奇数。所以我们可以判断一个数除以2取余,看余数是1还是0,这样也能判断,代码实现如下

public boolean isEven(int number) { return number % 2 == 0; }

这两种方式在我们的日常开发中是用得最多的,也是最容易理解的,下面几种方式一般人还真不一定能想到,在此让大家开开眼界,看看有没有哪种方式能让你感到“惊喜”。

3.遍历法

很难想到判断个偶数还能用到遍历法吧,究竟是遍历谁,怎么遍历呢?说是遍历法,我觉得叫数数法更好理解吧,啥意思呢?还记得刚学数数的经历吗,比如1,2,3……,判断奇偶数也可以这样数,比如从0开始就是偶,奇,偶,奇……,代码实现如下

public boolean isEven(int number) { boolean result = true; for (int i = 0; i < number; i ) result = !result; return result; }

看到这个遍历法,让我想起了一个“经典”的排序算法,睡眠排序法,在此不作解释,懂得人应该都懂,这两个放在一起,堪比卧龙凤雏,睡眠排序法示例如下

4.截取法

我们都知道一个数的个位,若是0,2,4,6,8时,则这个就是偶数,否则就是奇数。你要这么说也还行,整除10取余判断一下就可以了,不过这跟截取有啥关系呢,为啥叫截取法呢?我想象一下发明这种方法的大佬内心独白:你要整除?整除了还要取余?怎么取余?搞这么复杂干什么,字符串截取不会吗,直接截取最后一位就行了,哪有那么复杂。示例如下

5.穷举法

没错,判断奇偶数也能穷举,你有多少个场景我就穷举多少个。额……实在编不下去了,为什么要用穷举,各位大佬能理解他为什么要用穷举吗?看这截图,0到底算奇数还是偶数呢?

惊不惊喜,意不意外,简简单单一个奇偶数的判断,都能玩出花儿来,有时候想想,写代码也没那么枯燥,当你想找点乐子时,大佬们总会带点惊喜让你高兴高兴。