代码如下:
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是奇数。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)