java 判断奇偶数

Python012

java 判断奇偶数,第1张

代码如下:

import java.util.Scanner

public class woo {

public static void main(String args[]) {

Scanner scan =new Scanner(System.in)

System.out.println("输入一个整数")

int a = scan.nextByte()

if(a%2 != 0)

System.out.printf("%d是奇数", a)

else

System.out.printf("%d是偶数", a)

}

}

扩展资料

在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写。

如果指定了一个类为final,则该类所有的方法都是final的。Java编译器会寻找机会内联所有的final方法,内联对于提升Java运行效率作用重大,具体参见Java运行期优化。此举能够使性能平均提高50%。

特别是String对象的使用,出现字符串连接时应该使用StringBuilder/StringBuffer代替。由于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是奇数。

if (num % 2 == 0) {

    return "是偶数"

} else {

    return "不是偶数"

}

判断该数对2取余是否等于0,等于0的话就是偶数,不等于0的话就不是偶数。