Open In App

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

Last Updated : 04 Sep, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

In C, C++, and Java, both for loop and while loop is used to repetitively execute a set of statements a specific number of times. However, there are differences in their declaration and control flow. Let’s understand the basic differences between a for loop and a while loop.

for Loop

A for loop provides a concise way of writing the loop structure. Unlike a while loop, a for loop declaration 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 of for Loop

flowchart of for loop in C, C++ and Java

Example: Program to Demonstrate How to Use for Loop

C




// C Program to illustrate the use of for loop
#include <stdio.h>
  
int main()
{
    // loop variable
    int i = 0;
  
    // for loop that prints "GFG" 5 times
    for (i = 5; i < 10; i++) {
        printf("GFG\n");
    }
  
    return 0;
}


C++




// CPP program to demonstrate
// for loop
  
#include <iostream>
using namespace std;
  
int main()
{
    // Initialize variable 'i' with a value of 0
    int i = 0;
  
    // Iterate using a for loop from 5 to 9 (inclusive)
    for (i = 5; i < 10; i++) {
  
        // Print "GFG" on each iteration
        cout << "GFG\n";
    }
  
    return 0;
}


Java




// Java program to illustrate the use of for loop
import java.io.*;
  
class GFG {
    public static void main(String[] args)
    {
        // loop variable
        int i = 0;
  
        // for loop
        for (i = 5; i < 10; i++) {
            System.out.println("GfG");
        }
    }
}


Output

GFG
GFG
GFG
GFG
GFG

Looping Infinite Times

C




// C program to demonstrate
// infinite for loop
#include <stdio.h>
  
int main()
{
  
    // Infinite loop using a for loop with no condition
    // specified The absence of a condition means the loop
    // will continue indefinitely until it is explicitly
    // interrupted or terminated.
    for (;;) {
        printf("GFG\n");
    }
  
    return 0;
}


C++




// C++ program to demonstrate
// infinite for loop
#include <iostream>
using namespace std;
  
int main()
{
    // Infinite loop using a for loop with no condition
    // specified The absence of a condition means the loop
    // will continue indefinitely until it is explicitly
    // interrupted or terminated.
    for (;;) {
  
        // Print "GFG" on each iteration
        cout << "GFG\n";
    }
  
    return 0;
}


Java




// Java program to illustrate the use of for loop
import java.io.*;
  
class GFG {
    public static void main(String[] args)
    {
        // infinite for loop
        for (;;) {
            System.out.println("GFG!");
        }
    }
}


Output

GFG
GFG
GFG
...
...
...
{truncated}

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 of while Loop

flowchart of while loop in C, C++ and Java

Example: CPP Program to Demonstrate while Loop

C




// C program to demonstrate while loop
#include <stdio.h>
  
int main()
{
    // loop variable definition
    int i = 5;
  
    // while loop that prints "GFG" 5 times
    while (i < 10) {
        printf("GFG\n");
        i++;
    }
  
    return 0;
}


C++




// C++ program to demonstrate
// while loop
#include <iostream>
using namespace std;
  
int main()
{
    // Initialize variable 'i' with a value of 5
    int i = 5;
  
    // Execute the loop as long as 'i' is less than 10
    while (i < 10) {
  
        // Increment 'i' by 1 on each iteration
        i++;
  
        // Print "GFG" on each iteration
        cout << "GFG\n";
    }
  
    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

Looping Infinite Times

C




// C program to domonstrate
// infinite while loop
#include <stdio.h>
  
int main()
{
    // Condition is always true which results in infinite
    // loop
    while (1)
        printf("GFG\n");
  
    return 0;
}


C++




// C++ program to domonstrate
// infinite while loop
#include <iostream>
using namespace std;
  
int main()
{
    // Condition is always true which results in infinite
    // loop
    while (1)
        cout << "GFG\n";
  
    return 0;
}


Java




// C++ program to domonstrate
// infinite while loop
import java.io.*;
  
class GFG {
    public static void main(String[] args)
    {
        // loop variable
        int i = 5;
  
        // while loop
        while (i < 10) {
            System.out.println("GFG\n");
        }
    }
}


Output

GFG
GFG
GFG
...
...
...
{truncated}

Difference Between for Loop and while Loop

The major differences between for loop and while loop in C, C++ and Java are as follows:

for Loop

while Loop

Initialization may be either in the loop statement or outside the loop. Initialization is always outside the loop.
Once the statement(s) is executed then increment is done. The increment can be done before or after the execution of the statement(s).
It is normally used when the number of iterations is known. It is normally used when the number of iterations is unknown.
Condition is a relational expression. The condition may be an expression or non-zero value.
It is used when initialization and updation of conditions are simple. It is used for complex initialization.
For loop is entry controlled loop. While loop is also entry controlled loop.
Syntax: for ( init ; condition ; iteration ) { statement(s); } Syntax: while ( condition ) { statement(s); }
The for loop is used when the number of iterations is known. The while loop is used when the number of iterations is unknown.


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads