Difference Between For Loop and Do while Loop in Programming
Last Updated :
18 Apr, 2024
Improve
For
loop and Do while
loop are control flow structures in programming that allow you to repeatedly execute a block of code. However, they differ in their syntax and use cases. It is important for a beginner to know the key differences between both of them.
For Loop in Programming:
- The
for
loop is used when you know in advance how many times you want to execute the block of code. - It iterates over a sequence (e.g., a list, tuple, string, or range) and executes the block of code for each item in the sequence.
- The loop variable (
variable
) takes the value of each item in the sequence during each iteration.
For Loop Syntax:
for (initialization; condition; increment/decrement) {
// Code to be executed repeatedly
}
Examples:
#include <iostream>
using namespace std;
int main()
{
for (int i = 0; i < 5; i++)
cout << i << "\n";
return 0;
}
public class Main {
public static void main(String[] args) {
// For loop to print numbers from 0 to 4
for (int i = 0; i < 5; i++) {
System.out.println(i);
}
}
}
for i in range(5):
print(i)
using System;
class Program {
static void Main() {
for (int i = 0; i < 5; i++) {
Console.WriteLine(i);
}
}
}
// For loop to print numbers from 0 to 4
for (let i = 0; i < 5; i++) {
console.log(i);
}
Output
0 1 2 3 4
Do-While Loop in Programming:
- The do-while loop is similar to the while loop, but with one key difference: it guarantees that the block of code will execute at least once before checking the condition.
- This makes it useful when you want to ensure that a certain task is performed before evaluating a condition for continuation.
- The loop continues to execute as long as the specified condition is true after the first execution. It’s crucial to ensure that the condition eventually becomes false to prevent the loop from running indefinitely, leading to an infinite loop.
Syntax of do…while Loop:
do {
// body of do-while loop
} while (condition);
Examples:
#include <iostream>
using namespace std;
int main()
{
int count = 5;
do {
count += 1;
} while (count < 5);
cout << "Final value of count = " << count;
return 0;
}
public class Main {
public static void main(String[] args) {
// Initialize count to 5
int count = 5;
// Do-while loop: increment count while it is less than 5
do {
count += 1; // Increment count
} while (count < 5);
// Print the final value of count
System.out.println("Final value of count = " + count);
}
}
count = 5
while True:
count += 1
if not count < 5:
break
print("Final value of count =", count)
using System;
class Program
{
static void Main()
{
// Initialize count to 5
int count = 5;
// Do-while loop
do
{
// Increment count by 1
count += 1;
} while (count < 5); // Continue while count is less than 5
// Output final value of count
Console.WriteLine("Final value of count = " + count);
}
}
// Initialize count to 5
let count = 5;
// Do-while loop: execute at least once and continue while count is less than 5
do {
count += 1; // Increment count
} while (count < 5);
// Print the final value of count
console.log("Final value of count = " + count);
Output
Final value of count = 6
Difference Between For Loop and Do while Loop:
Features | for loop | do-while loop |
---|---|---|
Initialization | Initializes before loop starts | No initialization before loop starts |
Condition Checking | Checked before executing loop body | Checked after executing loop body |
Execution | Will not execute if condition is initially false | Always executes loop body at least once |
Example | for(int i = 0; i < 5; i++) { /* loop body */ } | int i = 0; do { /* loop body */ } while(i < 5); |
Use Cases | Known and finite iterations | Must execute loop body at least once |
Control Variable Updates | Updated within loop body or update expression | Updated within loop body, typically at end |
Terminating Condition | Condition becoming false | Condition becoming false, but always runs once |
Complexity | Preferred for collections or known ranges | Useful for ensuring initial execution |