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
Example: Program to Demonstrate How to Use for Loop
C
// C Program to illustrate the use of for loop
#include <stdio.h>
intmain()
{
// loop variable
inti = 0;
// for loop that prints "GFG" 5 times
for(i = 5; i < 10; i++) {
printf("GFG\n");
}
return0;
}
C++
// CPP program to demonstrate
// for loop
#include <iostream>
usingnamespacestd;
intmain()
{
// Initialize variable 'i' with a value of 0
inti = 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";
}
return0;
}
Java
// Java program to illustrate the use of for loop
importjava.io.*;
classGFG {
publicstaticvoidmain(String[] args)
{
// loop variable
inti = 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>
intmain()
{
// 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");
}
return0;
}
C++
// C++ program to demonstrate
// infinite for loop
#include <iostream>
usingnamespacestd;
intmain()
{
// 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";
}
return0;
}
Java
// Java program to illustrate the use of for loop
importjava.io.*;
classGFG {
publicstaticvoidmain(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
Example: CPP Program to Demonstrate while Loop
C
// C program to demonstrate while loop
#include <stdio.h>
intmain()
{
// loop variable definition
inti = 5;
// while loop that prints "GFG" 5 times
while(i < 10) {
printf("GFG\n");
i++;
}
return0;
}
C++
// C++ program to demonstrate
// while loop
#include <iostream>
usingnamespacestd;
intmain()
{
// Initialize variable 'i' with a value of 5
inti = 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";
}
return0;
}
Java
importjava.io.*;
classGFG {
publicstaticvoidmain(String[] args)
{
inti = 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>
intmain()
{
// Condition is always true which results in infinite
// loop
while(1)
printf("GFG\n");
return0;
}
C++
// C++ program to domonstrate
// infinite while loop
#include <iostream>
usingnamespacestd;
intmain()
{
// Condition is always true which results in infinite
// loop
while(1)
cout << "GFG\n";
return0;
}
Java
// C++ program to domonstrate
// infinite while loop
importjava.io.*;
classGFG {
publicstaticvoidmain(String[] args)
{
// loop variable
inti = 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.
Contact Us