Les Boucles en Dart
1. Qu'est-ce que la boucle ?
Dans les langages de programmation, les boucles permettent à un bloc de code d'être exécuté à plusieurs reprises.
Le langage Dart fournit les types de boucles suivants :
- for
- for..in
- while
- do..while
Les instructions break et continue peuvent apparaître à l'intérieur de la boucle :
break
Lorsque l'instruction break est rencontrée, le programme met immédiatement fin à la boucle.
continue
Lorsque l'instruction continue est rencontrée, le programme saute les lignes sous continue et exécute l'itération suivante (si la condition de boucle est toujours true).
2. La boucle for
La syntaxe de la boucle for:
for (initialValues; condition; updateValues) {
// Statements to be executed repeatedly
}
- InitialValues: Initialiser les valeurs des variables liées dans la boucle.
- condition: La condition pour exécuter le bloc.
- updateValues: Mettre à jour les nouvelles valeurs des variables.
Par exemple :
loop_for_ex1.dart
void main() {
print('For loop example');
for (var i = 0; i < 10; i = i + 3) {
print('i= $i');
}
}
Output:
For loop example
i= 0
i= 3
i= 6
i= 9
Par exemple : Deux variables participent à la condition d'une boucle for:
loop_for_ex2.dart
void main() {
print('For loop example');
for (var i = 0, j = 0; i + j < 10; i = i + 1, j = j + 2) {
print('i = $i, j = $j');
}
}
Output:
For loop example
i = 0, j = 0
i = 1, j = 2
i = 2, j = 4
i = 3, j = 6
3. La boucle for..in
La boucle for..in est utilisée pour parcourir les éléments d'un Iterable.
- Iterable
- List
- Set
Dans le langage de programmation Dart, List est un descendant d'Iterable, qui dipose de la même fonctionnalité qu'un tableau d'autres langages de programmation.
Par exemple : Utiliser la boucle for..in pour parcourir les éléments d'une List:
loop_for_in_list_ex1.dart
void main() {
// Create a List:
var names = ['Tom', 'Jerry', 'Donald'];
for (var name in names) {
print('name: $name');
}
}
Output:
name: Tom
name: Jerry
name: Donald
Par exemple : Utiliser la boucle for..in pour parcourir les éléments d'un objet Set.
loop_for_in_set_ex1.dart
void main() {
// Create a Map object:
// (key, value) <--> (Emloyee Number, Salary).
var salaryMap = {'E01': 1200,
'E02': 1500,
'E03': 900};
// The Set object.
var keySet = salaryMap.keys;
for (var key in keySet) {
print('Employee Number: $key, salary: ${salaryMap[key]}');
}
}
Output:
Employee Number: E01, salary: 1200
Employee Number: E02, salary: 1500
Employee Number: E03, salary: 900
- Map
- Set
4. La boucle while
La syntaxe de la boucle while:
while (condition) {
// Do something here..
}
Par exemple :
loop_while_ex1.dart
void main() {
print('While loop example');
var x = 2;
while (x < 10) {
print('Value of x = $x');
x = x + 3;
}
print('Done!');
}
Output:
While loop example
Value of x = 2
Value of x = 5
Value of x = 8
Done!
5. La boucle do..while
La boucle do..while est utilisée pour exécuter à plusieurs reprises un segment de programme. La particularité de do..while est qu'un bloc de code est toujours exécuté au moins une fois. Après chaque itération, le programme vérifie à nouveau la condition, si la condition est toujours vraie, l'itération suivante sera exécutée.
La syntaxe de la boucle do..while:
do {
// Do something
}
while(condition);
Par exemple :
loop_do_while_ex1.dart
void main() {
var value = 3;
do {
print('Value = $value');
value = value + 3;
} while (value < 10);
}
Output:
Value = 3
Value = 6
Value = 9
6. L'instruction break en boucle
break est une instruction qui peut apparaître dans le bloc d'une boucle. Cette instruction permet de terminer inconditionnellement la boucle.
Par exemple :
loop_break_ex1.dart
void main() {
print('Break example');
var x = 2;
while (x < 15) {
print('----------------------');
print('x = $x');
// If y = 5 then exit the loop.
if (x == 5) {
break;
}
// Increase value of x by 1
x = x + 1;
print('x after + 1 = $x');
}
print('Done!');
}
Output:
Break example
----------------------
x = 2
x after + 1 = 3
----------------------
x = 3
x after + 1 = 4
----------------------
x = 4
x after + 1 = 5
----------------------
x = 5
Done!
7. L'instruction continue en boucle
continue est une instruction qui peut apparaître dans une boucle. Lorsque l'instruction continue est rencontrée, le programme saute les lignes sous continue et démarre une nouvelle itération (si la condition est toujours vraie).
Par exemple :
loop_continue_ex1.dart
void main() {
print('Continue example');
var x = 2;
while (x < 7) {
print('----------------------');
print('x = $x');
if (x % 2 == 0) {
x = x + 1;
continue;
} else {
x = x + 1;
print('x after + 1 = $x');
}
}
print('Done!');
}
Output:
Continue example
----------------------
x = 2
----------------------
x = 3
x after + 1 = 4
----------------------
x = 4
----------------------
x = 5
x after + 1 = 6
----------------------
x = 6
Done!
8. Les boucles étiquetées
Dart vous permet de mettre une étiquette pour une boucle. C'est une façon de nommer une boucle et c'est pratique lorsque vous utilisez plusieurs boucles imbriquées dans un programme.
- Vous pouvez utiliser l'instruction "break labelX" pour break la boucle étiquetée labelX.
- Vous pouvez utiliser l'instruction "continue labelX" pour continuer la boucle intitulée labelX.
La syntaxe pour déclarer une boucle avec des étiquettes.
// for loop with Label.
label1: for( ... ) {
}
// while loop with Label.
label2: while ( ... ) {
}
// do-while loop with Label.
label3: do {
} while ( ... );
Par exemple : Utiliser des boucles étiquetées et une instruction break.
loop_break_labelled_ex1.dart
void main() {
print('Labelled Loop Break example');
var i = 0;
label1:
while (i < 5) {
print('----------------------');
print('i = $i');
i++;
label2:
for (var j = 0; j < 3; j++) {
print(' --> $j');
if (j > 0) {
// Exit the loop with label1.
break label1;
}
}
}
print('Done!');
}
Output:
Labelled Loop Break example
----------------------
i = 0
--> 0
--> 1
Done!
Par exemple : Utiliser des boucles étiquetées et une instruction continue.
loop_continue_labelled_ex1.dart
void main() {
var i = 0;
label1:
while (i < 5) {
print('outer i= $i');
i++;
label2:
for (var j = 0; j < 3; j++) {
if (j > 0) {
continue label2;
}
if (i > 1) {
continue label1;
}
print('inner i= $i, j= $j');
}
}
}
Output:
outer i= 0
inner i= 1, j= 0
outer i= 1
outer i= 2
outer i= 3
outer i= 4
Tutoriels de programmation Dart
- Type de données Boolean dans Dart
- Fonctions dans Dart
- Fermetures dans Dart
- Méthodes dans Dart
- Propriétés en Dart
- Programmation Dart avec l'outil en ligne DartPad
- Installer Dart SDK sur Windows
- Installer Visual Studio Code sur Windows
- Installer Dart Code Extension pour Visual Studio Code
- Installer Dart Plugin pour Android Studio
- Exécutez votre premier exemple Dart en Visual Studio Code
- Exécutez votre premier exemple Dart en Android Studio
- Parsing JSON avec dart:convert
- Le Tutoriel de Dart List
- Variables dans Dart
- Le Tutoriel de Dart Map
- Les Boucles en Dart
- Analyser Dart JSON avec le package dart_json_mapper
- Qu'est-ce que Transpiler?
Show More