Join our newsletter for the latest updates.

Java Program to Check Whether a Number is Prime or Not

In this article, you'll learn to check whether a number is prime or not. This is done using a for loop and while loop in Java.

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


A prime number is a number which 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;
    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;
    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.

Visit this page to learn, how you can display all prime numbers between two intervals.