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

for loop:

for loop provides a concise way of writing the loop structure. Unlike a while loop, a for statement consumes the initialization, condition and increment/decrement in one line thereby providing a shorter, easy to debug structure of looping.

Syntax:



for (initialization condition; testing condition; 
                              increment/decrement)
{
    statement(s)
}

Flowchart:

Example:

C

filter_none

edit
close

play_arrow

link
brightness_4
code

#include <stdio.h>
  
int main()
{
  
    int i = 0;
  
    for (i = 5; i < 10; i++) {
        printf("GFG\n");
    }
  
    return 0;
}

chevron_right


C++

filter_none

edit
close

play_arrow

link
brightness_4
code

#include <iostream>
using namespace std;
  
int main()
{
  
    int i = 0;
  
    for (i = 5; i < 10; i++) {
        cout << "GFG\n";
    }
  
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

import java.io.*;
  
class GFG {
    public static void main(String[] args)
    {
  
        int i = 0;
  
        for (i = 5; i < 10; i++) {
            System.out.println("GfG");
        }
    }
}

chevron_right


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 Exit Control Loop.

Syntax:

do
{
    statements..
}
while (condition);

Flowchart:
do-while

Example:

C

filter_none

edit
close

play_arrow

link
brightness_4
code

#include <stdio.h>
  
int main()
{
  
    int i = 5;
  
    do {
        printf("GFG\n");
        i++;
    } while (i < 10);
  
    return 0;
}

chevron_right


C++

filter_none

edit
close

play_arrow

link
brightness_4
code

#include <iostream>
using namespace std;
  
int main()
{
  
    int i = 5;
  
    do {
        i++;
        cout << "GFG\n";
    } while (i < 10);
  
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

import java.io.*;
  
class GFG {
    public static void main(String[] args)
    {
  
        int i = 5;
  
        do {
            i++;
            System.out.println("GfG");
        } while (i < 10);
    }
}

chevron_right


Output:

GFG
GFG
GFG
GFG
GFG

Here is the difference table:

For loop Do-While loop
Statement(s) is executed once the condition is checked. Condition is checked after the statement(s) is executed.
It might be that statement(s) gets executed zero times. Statement(s) is executed at least once.
For the single statement, bracket is not compulsory. Brackets are always compulsory.
Initialization may be outside or in condition box. Initialization may be outside or within the loop.
for loop is entry controlled loop. do-while is exit controlled loop.
for ( init ; condition ; iteration )
{ statement (s); }
do { statement(s); }
while (condition);


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.