检查数字是偶数还是奇数

我如何确定给定的数字是偶数还是奇数? 我一直想弄清楚这个很长一段时间,并没有得到任何地方。

您可以使用模数运算符,但这可能会很慢。 如果它是一个整数,你可以这样做:

if ( (x & 1) == 0 ) { even... } else { odd... } 

这是因为低位将始终设置为奇数。

 if((x%2)==0) // even else // odd 

如果你除以2的余数是0,那就是偶数。 %是运算符得到一个余数。

余数运算符%将除以数字后给出余数。

所以如果n为偶数, n % 2 == 0将为真,如果n为奇数,则n = 2。

每一个偶数都可以被二整除,而不pipe它是否是小数(但小数,如果存在,也必须是偶数)。 所以你可以使用% (模)运算符,它将左边的数字除以右边的数字,并返回余数。

 boolean isEven(double num) { return ((num % 2) == 0); } 

适用于正数或负数

 int start = -3; int end = 6; for (int val = start; val < end; val++) { // Condition to Check Even, Not condition (!) will give Odd number if (val % 2 == 0) { System.out.println("Even" + val); } else { System.out.println("Odd" + val); } } 
 package isevenodd; import java.util.Scanner; public class IsEvenOdd { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("Enter number: "); int y = scan.nextInt(); boolean isEven = (y % 2 == 0) ? true : false; String x = (isEven) ? "even" : "odd"; System.out.println("Your number is " + x); } } 

Python提供了一个简单的方法,甚至不需要使用if / else条件(适用于正号和负号):

 x = 8 a_list = ['even', 'odd'] print(a_list[x%2]) 

对于奇数,expression式将返回“1”作为余数,给出

a_list [1] =“奇数”,因此打印“奇数”

否则,当expression式结果为'0'时打印“even”

您可以使用模数运算符,但这可能会很慢。 更有效的方法是检查最低位,因为这决定了一个数字是偶数还是奇数。 代码看起来像这样:

 public static void main(String[] args) { System.out.println("Enter a number to check if it is even or odd"); System.out.println("Your number is " + (((new Scanner(System.in).nextInt() & 1) == 0) ? "even" : "odd")); }