Loops: while, for, and accumulation · Boucles : while, for et accumulation
Loops
- A loop repeats a block of code many times.
- Loops let you count, add up numbers, and do work without copying lines.
- In this lesson you learn the
whileloop and theforloop.
Boucles
- Une boucle répète un bloc de code de nombreuses fois.
- Les boucles permettent de compter, d'additionner des nombres et de faire des travaux sans copier des lignes.
- Dans cette leçon, vous apprenez la boucle
whileet la bouclefor.
The while loop
- A
whileloop runs its block again and again while a condition istrue. - You need three parts: start a counter, test it, and change it inside the loop.
- If you never change the counter, the loop runs forever. Be careful.
La boucle while
- Une boucle
whileexécute son bloc encore et encore tant qu'une condition esttrue. - Vous avez besoin de trois parties : initier un compteur, le tester, et le modifier à l'intérieur de la boucle.
- Si vous ne modifiez jamais le compteur, la boucle tourne indéfiniment. Soyez prudent.
public class Main {
public static void main(String[] args) {
int i = 1; // start
while (i <= 3) { // test
System.out.println("Line " + i);
i = i + 1; // change
}
}
}
The for loop
- A
forloop puts the start, test, and change on one line. - The shape is
for (start; test; change) { ... }. - It does the same job as the
whileabove, but it is shorter and clearer.
La boucle for
- Une boucle
formet le départ, le test et le changement sur une seule ligne. - La forme est
for (start; test; change) { ... }. - Elle fait le même travail que la
whileci-dessus, mais elle est plus courte et plus claire.
public class Main {
public static void main(String[] args) {
for (int i = 1; i <= 3; i++) {
System.out.println("Line " + i);
}
}
}
Accumulation
- Accumulation means building up an answer step by step inside a loop.
- Use a variable that starts at
0and grows:sum = sum + i;. i++is a short way to writei = i + 1.sum += iis short forsum = sum + i.
Accumulation
- L'accumulation signifie construire une réponse étape par étape à l'intérieur d'une boucle.
- Utilisez une variable qui commence à
0et grandit :sum = sum + i;. i++est une façon courte d'écrirei = i + 1.sum += iest court poursum = sum + i.
public class Main {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 5; i++) {
sum += i; // add each number
}
System.out.println(sum); // 15
}
}
Counting with a condition
- You can count how many times something is true.
- Start a counter at
0, and add1only when the test passes. - Here we count even numbers from 1 to 10.
Compter avec une condition
- Vous pouvez compter combien de fois quelque chose est vrai.
- Commencez un compteur à
0, et ajoutez1uniquement lorsque le test passe. - Ici, nous comptons les nombres pairs de 1 à 10.
public class Main {
public static void main(String[] args) {
int count = 0;
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) { // % gives the remainder
count++;
}
}
System.out.println(count); // 5
}
}
Off-by-one care
- The most common loop bug is doing one too many or one too few steps.
i <= nincludesn.i < nstops beforen.- To loop from 1 to
n(and includen), usefor (int i = 1; i <= n; i++).
Attention aux erreurs d'index (off-by-one)
- L'erreur de boucle la plus courante est de faire un pas de trop ou un pas de moins.
i <= ninclutn.i < ns'arrête avantn.- Pour boucler de 1 à
n(et incluren), utilisezfor (int i = 1; i <= n; i++).
public class Main {
public static void main(String[] args) {
int n = 4;
// i goes 1, 2, 3, 4 — four times, because of <=
for (int i = 1; i <= n; i++) {
System.out.println(i);
}
}
}
Common mistakes
for (int i = 0; i < n; i++)runsntimes;<=runs one extra.- Do not put a
;right afterfor(...).
Erreurs courantes
for (int i = 0; i < n; i++)s'exécutenfois ;<=s'exécute une fois de plus.- Ne placez pas un
;juste aprèsfor(...).
Now you try
- Each task pre-fills the class skeleton — write your code inside main, or complete the method shown.
- Press Run to compile and run, then Check answer.
- Your code compiles and runs on the server, so even the first run is fast.
À vous maintenant
- Chaque tâche préremplit le squelette de classe — écrivez votre code dans main, ou complétez la méthode montrée.
- Appuyez sur Exécuter pour compiler et exécuter, puis sur Vérifier la réponse.
- Votre code compile et s'exécute sur le serveur, donc même la première exécution est rapide.
Loops and accumulation · Boucles et accumulation
A loop repeats; an accumulator builds up across the passes. · Une boucle se répète ; un accumulateur s'accumule à travers les passages.
Use a for loop to print the numbers 1 to · à 5, each on its own line. · Utilisez une boucle for pour afficher les nombres 1 à 5, chacun sur sa propre ligne.
Click Run to see the output here. · Cliquez sur Exécuter pour voir le résultat ici.
Complete sumTo(int n) so it returns the sum 1 + 2 + ... + n. For example sumTo(5) is 15. If n is 0 or less, return 0. · Complétez sumTo(int n) pour qu'elle retourne la somme 1 + 2 + ... + n. Par exemple sumTo(5) est 15. Si n est 0 ou moins, retournez 0.
Click Run to see the output here. · Cliquez sur Exécuter pour voir le résultat ici.
Complete countMultiples(int n, int k) so it returns how many numbers from 1 to · à n divide evenly by k (use % == 0). For example countMultiples(10, 3) is 3 (that is 3, 6, 9). · Complétez countMultiples(int n, int k) pour qu'elle retourne combien de nombres de 1 à n se divisent parfaitement par k (utilisez % == 0). Par exemple countMultiples(10, 3) est 3 (c'est-à-dire 3, 6, 9).
Click Run to see the output here. · Cliquez sur Exécuter pour voir le résultat ici.