# Java Program to Check A number is Prime or Not

Java Program to Check Whether a Number is Prime or Not

#### In this post, we will learn to check whether a number is prime or not.

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: Using a for loop

 public class Prime {     public static void main(String[] args) {         int num = 31;         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`

31 is a prime number.

In the above program, for loop is used to determine if the given number num is prime or not. We only have to loop through 2 to half of num , because no number is 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 it is, 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: Using a while loop

 public class Prime {     public static void main(String[] args) {         int num = 37, 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`

37 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.