Loops are used to execute a set of statements repeatedly until a particular condition is satisfied. In Dart, we have the following types of loops:

  • for loop
  • while loop
  • do-while loop
  • for-in loop

Familiar with the topic? Play Quiz

for loop

The for loop is used to execute a set of statements a specific number of times.

Syntax:

  for (initialization; condition; increment/decrement) {  
    // statements to be executed  
}  
  

Example:

  void main() {  
    for (var i = 1; i <= 10; i++) {  
        print(i);  
    }  
}  
  

Output:

  1
2
3
4
5
6
7
8
9
10
  

code Try Yourself

while loop

The while loop is used to execute a set of statements until a particular condition is satisfied.

Syntax:

  while (condition) {  
    // statements to be executed  
}  
  

Example:

  
void main() {  
    var i = 1;  
    while (i <= 10) {  
        print(i);  
        i++;  
    }  
}  
  

Output:

  
1
2
3
4
5
6
7
8
9
10
  

code Try Yourself

do-while loop

The do-while loop is used to execute a set of statements at least once and then repeatedly executes until a particular condition is satisfied.

Syntax:

  do {  
    // statements to be executed  
} while (condition);  
  

Example:

  void main() {  
    var i = 1;  
    do {  
        print(i);  
        i++;  
    } while (i <= 10);  
}  
  

Output:

  1
2
3
4
5
6
7
8
9
10
  

code Try Yourself

for-in loop

The for-in loop is used to iterate through the elements of lists, sets, or maps.

Syntax:

  for (var item in collection) {  
    // statements to be executed  
}  
  

Example:

  
void main() {  
    var numbers = [1, 2, 3];  
    for (var n in numbers) {  
        print(n);  
    }  
}  
  

Output:

  
1
2
3
  

code Try Yourself

Nested loops

A loop inside another loop is called a nested loop. The inner loop will be executed one time for each iteration of the outer loop.

Example:

  void main() {  
    for (var i = 1; i <= 3; i++) {  
        for (var j = 1; j <= 3; j++) {  
            print("$i $j");  
        }  
    }  
}  
  

Output:

  
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3
  

code Try Yourself

Infinite loops

A loop that never ends is called an infinite loop. If the condition of the while loop is always true, then the loop will never end.

Example:

  
void main() {  
    while (true) {  
        print("Hello World");  
    }  
}  
  

Output:

  
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World 
.
.
.
  

Loop Control Statements

Loop control statements change the execution from its normal sequence. When execution leaves a scope, all automatic objects that were created in that scope are destroyed.

Dart supports the following control statements:

  • break statement
  • continue statement

break keyword

The break statement is used to terminate the loop immediately.

Example:

  void main() {  
    for (var i = 1; i <= 10; i++) {  
        if (i == 5) {  
            break;  
        }  
        print(i);  
    }  
}  
  

Output:

  1
2
3
4
  

code Try Yourself

break keyword will break the loop immediately if the condition will be ture. Here the output will be only upto 4 because next value of i will terminate the loop.

continue Keyword

The continue statement is used to skip the current iteration of the loop and the control flow will continue with the next iteration.

Example:

  void main() {  
    for (var i = 1; i <= 10; i++) {  
        if (i == 5) {  
            continue;  
        }  
        print(i);  
    }  
}  
  

Output:

  1
2
3
4
6
7
8
9
10
  

Here, in this code when the value of i = 5, the code left to be executed will be skipped, that’s the reason why we don’t see 5.

code Try Yourself

Quiz

You can test your understanding with the questions we prepared, it will take less than 3 minutes.