Difference between while and do-while loop in C, C++, Java

Last Updated : 4 Jun, 2026

Loops are used to execute a block of code repeatedly until a specified condition becomes false. Java provides several looping statements, among which while and do-while loops are commonly used when the number of iterations is not known in advance.

  • Both while and do-while loops execute a block of code repeatedly based on a condition.
  • The main difference is that a while loop checks the condition before execution, whereas a do-while loop checks the condition after execution.

while loop

A while loop is a control flow statement that allows code to be executed repeatedly based on a given Boolean condition. The while loop can be thought of as a repeating if statement.

Syntax

while (boolean condition)
{
loop statements...

}

Flowchart:

while loop

Example:

C++
#include <iostream>
using namespace std;

int main()
{

    int i = 5;

    while (i < 10) {
        i++;
        cout << "GFG\n";
    }

    return 0;
}
C
#include <stdio.h>

int main()
{

    int i = 5;

    while (i < 10) {
        printf("GFG\n");
        i++;
    }

    return 0;
}
Java
import java.io.*;

class GFG {
    public static void main(String[] args)
    {

        int i = 5;

        while (i < 10) {
            i++;
            System.out.println("GfG");
        }
    }
}

Output
GFG
GFG
GFG
GFG
GFG

do-while loop

do while loop is similar to while loop with the only difference that it checks for the condition after executing the statements, and therefore is an example of

Syntax

do{
statements..
}
while (condition);

Flowchart:

do-while

Example:

C++
#include <iostream>
using namespace std;

int main()
{

    int i = 5;

    do {
        i++;
        cout << "GFG\n";
    } while (i < 10);

    return 0;
}
C
#include <stdio.h>

int main()
{

    int i = 5;

    do {
        printf("GFG\n");
        i++;
    } while (i < 10);

    return 0;
}
Java
import java.io.*;

class GFG {
    public static void main(String[] args)
    {

        int i = 5;

        do {
            i++;
            System.out.println("GfG");
        } while (i < 10);
    }
}

Output
GFG
GFG
GFG
GFG
GFG

while Vs do-while loop

whiledo-while
Condition is checked first then statement(s) is executed.Statement(s) is executed atleast once, thereafter condition is checked.
It might occur statement(s) is executed zero times, If condition is false.At least once the statement(s) is executed.
No semicolon at the end of while. while(condition)Semicolon at the end of while. while(condition);
Variable in condition is initialized before the execution of loop.variable may be initialized before or within the loop.
while loop is entry controlled loop.do-while loop is exit controlled loop.
while(condition) { statement(s); }do { statement(s); } while(condition);
Comment