Java Program to Check if a Given Integer is Odd or Even - GeeksforGeeks

01 Nov, 2021
A number that is divisible by 2 and generates a remainder of 0 is called an even number. All the numbers ending with 0, 2, 4, 6, and 8 are even numbers. On the other hand, number that is not divisible by 2 and generates a remainder of 1 is called an odd number. All the numbers ending with 1, 3, 5,7, and 9 are odd numbers. Do refer to the below illustration to get what is supposed to be conveyed out basics here via generic Illustration for any random integer, check whether it is even or odd. 
Input : 13
Output: ODD
Input : 24
Output: EVEN
Methods:
There are various ways to check whether the given number is odd or even. Some of them are as follows starting from the brute force approach ending up at the most optimal approach.
Using Brute Force- Naive ApproachUsing bitwise operatorsUsing Bitwise ORUsing Bitwise ANDUsing Bitwise XORBy Checking the Least Significant Bit
Using Brute Force- Naive Approach
Using bitwise operatorsUsing Bitwise ORUsing Bitwise ANDUsing Bitwise XOR
Using Bitwise OR
Using Bitwise AND
Using Bitwise XOR
By Checking the Least Significant Bit
Method 1: Brute Force Naive Approach
It is to check the remainder after dividing by 2. Numbers that are divisible by 2 are even else odd.
Example
Java
// Java Program to Check if Given Integer is Odd or Even// Using Brute Forcew Approach // Importing required classesimport java.io.*;import java.util.Scanner; // Main classclass GFG {     // Main Driver Method    public static void main(String[] args)    {        // Declaring and initializing integer variable        int num = 10;         // Checking if number is even or odd number        // via remainder        if (num % 2 == 0) {             // If remainder is zero then this number is even            System.out.println("Entered Number is Even");        }         else {             // If remainder is not zero then this number is            // odd            System.out.println("Entered Number is Odd");        }    }}
Entered Number is Even
Now let us dwell on optimal approaches as follows below as follows with help of bitwise operators
Method 2: Using bitwise operators
Bitwise OR
Bitwise AND or Bitwise XOR
2-A: Using Bitwise OR
Bitwise OR operation of the even number by 1 increment the value of the number by 1 otherwise it remains unchanged.
Illustration: Bitwise OR 
    Number = 12              1  1  0  0    - Representation of 12 in Binary Format
                Bitwise OR   0  0  0  1    - Representation of  1 in Binary Format
                            
                             1  1  0  1    - Representation of 13 in Binary Format
    Result- Number was even so bitwise Or by 1 increment the value by 1
    Number = 15            1  1  1  1    - Representation of 15 in Binary Format
               Bitwise OR  0  0  0  1    - Representation of  1 in Binary Format
                        
                           1  1  1  1    - Representation of 15 in Binary Format
    Result- Number was odd so bitwise Or by 1 doesn't increment the value by 1
Example
Java
// Java Program to Check if Given Integer is Odd or Even// Using Bitwise OR // Importing required classesimport java.util.*; // Main classpublic class GFG {     // Main driver method    public static void main(String[] args)    {        // Declaring and initializing integer variable        // to be checked        int n = 100;         // Condition check        // if n|1 if greater than n then this number is even        if ((n | 1) > n) {             // Print statement            System.out.println("Number is Even");        }        else {             // Print statement            System.out.println("Number is Odd");        }    }}
Number is Even
2-B: Using Bitwise AND
Bitwise AND operation of the odd number by 1 will be 1 because the last bit will be already set otherwise it will give 0. 
Illustration: Bitwise AND 
    Number = 5              0  1  0  1    - Representation of  5 in Binary Format
               Bitwise AND  0  0  0  1    - Representation of  1 in Binary Format
                          
                            0  0  0  1    - Representation of  1 in Binary Format
    Result- Number was odd so bitwise And by 1 is 1
        Number = 8            1  0  0  0    - Representation of  8 in Binary Format
             Bitwise AND  0  0  0  1    - Representation of  1 in Binary Format
                       
                          0  0  0  0    - Representation of  0 in Binary Format
    Result- Number was even so bitwise And by 1 is 0
Example
Java
// Java Program to Check if Given Integer is Odd or Even// Using Bitwise AND // Importing required classesimport java.util.*; // Main classpublic class GFG {     // Main driver method    public static void main(String[] args)    {         // Declare and initializing integer variable        int n = 91;         // Condition Check        // Bitwise AND of any odd number by 1 gives 1        if ((n & 1) == 1) {             // Print statement            System.out.println("Number is Odd");        }        else {             // Print statement            System.out.println("Number is Even");        }    }}
Number is Odd
 2-C: Using Bitwise XOR
Bitwise XOR operation of the even number by 1 increment the value of the number by 1 otherwise it decrements the value of the number by 1 if the value is odd. It is the most optimal approach.
Illustration: Bitwise XOR  
    Number = 5              0  1  0  1    - Representation of  5 in Binary Format
               Bitwise XOR  0  0  0  1    - Representation of  1 in Binary Format
                       
                            0  1  0  0    - Representation of  4 in Binary Format
    Result- Number was odd so bitwise And by 1 decrement the value
    Number = 8            1  0  0  0    - Representation of  8 in Binary Format
             Bitwise XOR  0  0  0  1    - Representation of  1 in Binary Format

                          1  0  0  1    - Representation of  9 in Binary Format
    Result- Number was even so bitwise And by 1 increment the value
Example
Java
// Java Program to Check if Given Integer is Odd or Even// Using Bitwise XOR // Importing required classesimport java.util.*; // Main classpublic class GFG {     // Main driver method    public static void main(String[] args)    {         // Declare and initializing integer variable        int num = 99;         // Condition Check        // if number^1 increments by 1 then its even number,        // else odd        if ((num ^ 1) == num + 1) {             // Print statement            System.out.println("Number is Even");        }        else {             // Print statement            System.out.println("Number is Odd");        }    }}
Number is Odd
 Method 3: Checking the LSB of the Number
The LSB(Least Significant Bit) of an even number is always 0 and that of an odd number is always 1.
Example 
Java
// Java Program to Check if Given Integer is Odd or Even// by checking the LSB of the Number // Importing required classesimport java.util.*; // Main class// TestEvenOddByCheckingLSBpublic class GFG {     // Method 1    // To test number is even or odd    public static String testOddEvenByCheckingLSB(int a)    {         if (a != 0) {            if (Integer.toBinaryString(a).endsWith("0")) {                return "Even";            }            else {                return "Odd";            }        }         // Here we will land if        // it does not ends with 0        else {            return "Zero";        }    }     // Method 2    // Main driver method    public static void main(String[] args)    {         // Iterationg over using for loop        for (int i = 0; i <= 10; i++) {             // Calling the function and printing            // corresponding number is even or odd            System.out.println(                i + " : " + testOddEvenByCheckingLSB(i));        }    }}
0 : Zero
1 : Odd
2 : Even
3 : Odd
4 : Even
5 : Odd
6 : Even
7 : Odd
8 : Even
9 : Odd
10 : Even
mayurvicky
Java
Java Programs
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Different ways of Reading a text file in Java
Stream In Java
Constructors in Java
Exceptions in Java
Generics in Java
Convert a String to Character array in Java
Java Programming Examples
Convert Double to Integer in Java
Implementing a Linked List in Java using Class
How to Iterate HashMap in Java?