Java Program to Check Whether a Number is Prime or Not

To understand this example, you should have the knowledge of the following Java programming topics:


A prime number is a number that is divisible by only two numbers: 1 and itself. So, if any number is divisible by any other number, it is not a prime number.

Example 1: Program to Check Prime Number using a for loop

public class Main {

  public static void main(String[] args) {

    int num = 29;
    boolean flag = false;

    // 0 and 1 are not prime numbers
    if (num == 0 || num == 1) {
        flag = true;
    }

    for (int i = 2; i <= num / 2; ++i) {

      // condition for nonprime number
      if (num % i == 0) {
        flag = true;
        break;
      }
    }

    if (!flag)
      System.out.println(num + " is a prime number.");
    else
      System.out.println(num + " is not a prime number.");
  }
}

Output

29 is a prime number.

In the above program, for loop is used to determine if the given number num is prime or not.

Here, note that we are looping from 2 to num/2. It is because a number is not divisible by more than its half.

Inside the for loop, we check if the number is divisible by any number in the given range (2...num/2).

  • If num is divisible, flag is set to true and we break out of the loop. This determines num is not a prime number.
  • If num isn't divisible by any number, flag is false and num is a prime number.

Example 2: Program to Check Prime Number using a while loop

public class Main {

  public static void main(String[] args) {

    int num = 33, i = 2;
    boolean flag = false;
    
    // 0 and 1 are not prime numbers
    if (num == 0 || num == 1) {
        flag = true;
    }
    
    while (i <= num / 2) {

      // condition for nonprime number
      if (num % i == 0) {
        flag = true;
        break;
      }

      ++i;
    }

    if (!flag)
      System.out.println(num + " is a prime number.");
    else
      System.out.println(num + " is not a prime number.");
  }
}

Output

33 is not a prime number.

In the above program, while loop is used instead of a for loop. The loop runs until i <= num/2. On each iteration, whether num is divisble by i is checked and the value of i is incremented by 1.


Also Read:

Before we wrap up, let’s put your knowledge of Java Program to Check Whether a Number is Prime or Not to the test! Can you solve the following challenge?

Challenge:

Write a function to check if a number is prime or not.

  • A number is prime if it has only two distinct divisors: 1 and itself. For instance, numbers like 2, 3, 5, and 7 are all prime.
  • If the number is prime, return "It's a prime number". Otherwise, return "It's not a prime number".
Did you find this article helpful?

Your builder path starts here. Builders don't just know how to code, they create solutions that matter.

Escape tutorial hell and ship real projects.

Try Programiz PRO
  • Real-World Projects
  • On-Demand Learning
  • AI Mentor
  • Builder Community