写一个java方法,判断给定的数字是偶数还是奇数。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了写一个java方法,判断给定的数字是偶数还是奇数。相关的知识,希望对你有一定的参考价值。

奇偶数的判定依据是:是否能被2整除。

1、通过字面解释去实现:采用取模(%)的做法:

public booleam isOdd(int num)
    return num % 2 != 0;

注意:通过取模判断奇偶数一定要与0进行比较。如果是通过与1进行比较的话会有一个问题:

0 % 2 = 0  ( 0  !=  1 ) 是偶数
1 % 2 = 1  ( 1  =   1 ) 是奇数
-1 % 2 = -1  ( -1 != 1 ) 是偶数,很明显是错的

2、利用位运算(&)能更好的实现

原理是:偶数的二进制末位必然是0,奇数的末尾必然是1。所以只要把一个数与1进行按与运算,运算结果为1则是奇数,0则为偶数。

public booleam isOdd(int num)
    return num & 1 == 1;

这种方法不用担心-1这个特殊情况,(在计算机中,负数以其正值的补码形式表达的):
-1 的二进制:

原码:0000 0001

反码:1111 1110

补码:1111 1111

按位与计算得到:0000 0001,结果是1,则可以判断为-1是奇数。

参考技术A public class Test

public static void main(String[] args)
judgeNum(2);
judgeNum(3);


/**
* 判断是奇数还是偶数的方法
* @param num
*/
public static void judgeNum(int num)
if(num % 2 == 0)
System.out.println(num + "是偶数");
else
System.out.println(num + "是奇数");



参考技术B public static void main(String[] args)
Scanner input = new Scanner(System.in);
System.out.print("请输入您要判断的数:");

int N = input.nextInt();

if (N%2==0)
System.out.println(N + "是偶数!");

else
System.out.println(N + "是奇数!");

参考技术C boolean function(int n)

if (n%2 == 1)
return true; // 奇数返回true
else
return false; //偶数返回false
参考技术D public static boolean isEven(int num)//判断是偶数 是返回true
return num%2==0?true:false;

java怎么用位移判断一个数字时奇数还是偶数

public class Test 
    public static void main(String[] args) 
        for (int i = 0; i <= 10; i++) 
            System.out.println(i + (isEvenNumber(i) ? "是偶数" : "是奇数"));
        
    

    private static boolean isEvenNumber(int n) 
        return (((n >> 1) << 1) == n);
    

参考技术A int t ;
if(t&1==0)//则为偶数

以上是关于写一个java方法,判断给定的数字是偶数还是奇数。的主要内容,如果未能解决你的问题,请参考以下文章

032Java中判断某一个数字是奇数还是偶数

设计Java 程序,实现判断变量x是奇数还是偶数

java怎么判断一个数是奇数还是偶数

shell编程,读取一个数,判断这个数是奇数还是偶数

python 更快地判断数字的奇数还是偶数

如何判断一个整数是奇数还是偶数?