Back to Java
2026-02-075 min read

Even or Odd Number (Java)

Learn Even or Odd Number (Java) step by step with clear examples and exercises.

Title: Even or Odd Number (Java) - Java Programming Tutorial

Why This Matters

You'll learn how to write a Java program that determines whether a number is even or odd. Understanding this concept is crucial for mastering programming logic and data types in Java. It can be useful in various real-world scenarios such as validating user inputs, debugging code, and participating in coding interviews.

Prerequisites

Before diving into the core concept, you should have a basic understanding of the following:

  1. Java syntax and semantics (variables, operators, control structures)
  2. Basic I/O operations (System.out.println(), Scanner class)
  3. Data types (primitive data types like int, boolean, char, and float)
  4. Arithmetic operations (addition, subtraction, multiplication, division, and modulus)
  5. Conditional statements (if-else)

Core Concept

The simplest way to determine whether a number is even or odd in Java is by checking its remainder when divided by 2. If the remainder is 0, the number is even; otherwise, it's odd. Let's break down the code step-by-step:

import java.util.Scanner;

public class EvenOrOdd {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);

System.out.print("Enter an integer: ");
int number = scanner.nextInt();

if (number % 2 == 0) {
System.out.println(number + " is even.");
} else {
System.out.println(number + " is odd.");
}
}
}
  1. Import the Scanner class from java.util.
  2. Define a main method, which serves as the entry point of every Java program.
  3. Create an instance of the Scanner class to read user input.
  4. Print a prompt asking the user to enter an integer.
  5. Read the user's input as an integer using the nextInt() method.
  6. Use the modulus operator (%) to find the remainder when the number is divided by 2.
  7. Check if the remainder is 0, and print whether the number is even or odd accordingly.

Worked Example

Let's try our program with some examples:

Enter an integer: 4
4 is even.

Enter an integer: 5
5 is odd.

Enter an integer: -2
-2 is even.

Enter an integer: 0
0 is even.

In the above example, we entered four different integers (4, 5, -2, and 0), and our program correctly identified whether each one was even or odd.

Common Mistakes

  1. Forgetting to import Scanner: Remember to import the java.util.Scanner class at the beginning of your code.
  2. Not handling negative numbers: If you want your program to work with both positive and negative numbers, make sure to test for absolute values when checking if a number is even or odd (Math.abs(number) % 2 == 0).
  3. Using the wrong operator: Be careful not to confuse the modulus operator (%) with the remainder operator (%=). The former returns the remainder, while the latter assigns the remainder to a variable.
  4. Not closing the Scanner: Don't forget to close the Scanner instance after reading user input using the scanner.close() method or by declaring it as a resource inside a try-with-resources block.
  5. Handling floating-point numbers: If you want to handle floating-point numbers, you can modify the program to accept them by using the nextDouble() method instead of nextInt(). However, remember that fractional parts don't affect whether a number is even or odd.
  6. Not considering zero as an even number: Zero is considered an even number because its remainder when divided by 2 is 0.
  7. Incorrectly handling large numbers: When dealing with large numbers, make sure to handle potential issues such as integer overflow and division by zero.

Practice Questions

  1. Modify the program to accept multiple integers and display whether each one is even or odd.
  2. Write a Java program that finds the sum of all even numbers between 1 and 100.
  3. Given an array of integers, write a method that returns the count of even numbers in the array.
  4. Write a Java program that checks if a number is a prime number.
  5. Write a Java program that finds the largest even number among a given set of integers.
  6. Write a Java program that determines whether a given year is a leap year or not.
  7. Write a Java program that generates all Fibonacci numbers up to a given limit and finds the count of even Fibonacci numbers in that sequence.
  8. Write a Java program that generates all prime numbers up to a given limit and finds the count of even prime numbers in that sequence.

FAQ

Q: What if I want to handle floating-point numbers?

A: You can modify the program to accept floating-point numbers by using the nextDouble() method instead of nextInt(). However, remember that fractional parts don't affect whether a number is even or odd.

Q: Why do we use the modulus operator (%) instead of division (/) to check if a number is even?

A: The modulus operator gives us the remainder after dividing two numbers. If the number is even, its remainder when divided by 2 will always be 0 or the original number itself (when divided by an even number greater than 2). In contrast, division would give us a decimal value that might not be helpful for determining whether the number is even or odd.

Q: Can I write a one-liner to check if a number is even in Java?

A: Yes! You can use the ternary operator (?:) and the modulus operator to create a one-liner like this: System.out.println(number % 2 == 0 ? number + " is even." : number + " is odd.");. This code checks whether the remainder of the number when divided by 2 is 0, and prints the appropriate message accordingly.

Q: Can I use bitwise operators to check if a number is even in Java?

A: Yes! You can use bitwise operators (&) to check if a number is even in Java. The binary representation of an even number always has a 0 in its least significant bit (LSB). Here's how you can write a one-liner using the bitwise AND operator: System.out.println((number & 1) == 0 ? number + " is even." : number + " is odd.");. This code checks whether the LSB of the number is 0, and prints the appropriate message accordingly.

Even or Odd Number (Java) | Java | XQA Learn