Java while et do ... while Loop

Dans ce didacticiel, nous allons apprendre à utiliser les boucles while et do while en Java à l'aide d'exemples.

En programmation informatique, les boucles sont utilisées pour répéter un bloc de code. Par exemple, si vous souhaitez afficher un message 100 fois, vous pouvez utiliser une boucle. C'est juste un exemple simple; vous pouvez faire beaucoup plus avec des boucles.

Dans le didacticiel précédent, vous avez découvert Java for loop. Ici, vous allez en apprendre davantage sur whileet do… whileboucles.

Java while boucle

La whileboucle Java est utilisée pour exécuter un code spécifique jusqu'à ce qu'une certaine condition soit remplie. La syntaxe de la whileboucle est:

 while (testExpression) ( // body of loop )

Ici,

  1. Une whileboucle évalue le textExpression à l'intérieur de la parenthèse ().
  2. Si textExpression est évalué à true, le code à l'intérieur de la whileboucle est exécuté.
  3. La textExpression est à nouveau évaluée.
  4. Ce processus se poursuit jusqu'à ce que textExpression soit false.
  5. Lorsque textExpression est évalué à false, la boucle s'arrête.

Pour en savoir plus sur les conditions, consultez la page Opérateurs relationnels et logiques Java.

Organigramme de la boucle while

Organigramme de la boucle while Java

Exemple 1: affichage des nombres de 1 à 5

 // Program to display numbers from 1 to 5 class Main ( public static void main(String() args) ( // declare variables int i = 1, n = 5; // while loop from 1 to 5 while(i <= n) ( System.out.println(i); i++; ) ) )

Production

 1 2 3 4 5

Voici comment fonctionne ce programme.

Itération Variable Condition: i <= n action
1er i = 1
n = 5
true 1 est imprimé.
i est augmenté à 2 .
2e i = 2
n = 5
true 2 est imprimé.
i est augmenté à 3 .
3e i = 3
n = 5
true 3 est imprimé.
i est augmenté à 4 .
4e i = 4
n = 5
true 4 est imprimé.
i est augmenté à 5 .
5e i = 5
n = 5
true 5 est imprimé.
i est augmenté à 6 .
6e i = 6
n = 5
false La boucle est terminée

Exemple 2: Somme des nombres positifs uniquement

 // Java program to find the sum of positive numbers import java.util.Scanner; class Main ( public static void main(String() args) ( int sum = 0; // create an object of Scanner class Scanner input = new Scanner(System.in); // take integer input from the user System.out.println("Enter a number"); int number = input.nextInt(); // while loop continues // until entered number is positive while (number>= 0) ( // add only positive numbers sum += number; System.out.println("Enter a number"); number = input.nextInt(); ) System.out.println("Sum = " + sum); input.close(); ) )

Production

 Entrez un nombre 25 Entrez un nombre 9 Entrez un nombre 5 Entrez un nombre -3 Somme = 39

Dans le programme ci-dessus, nous avons utilisé la classe Scanner pour prendre les entrées de l'utilisateur. Ici, nextInt()prend une entrée entière de l'utilisateur.

La whileboucle continue jusqu'à ce que l'utilisateur entre un nombre négatif. Lors de chaque itération, le nombre saisi par l'utilisateur est ajouté à la sumvariable.

Lorsque l'utilisateur entre un nombre négatif, la boucle se termine. Enfin, la somme totale est affichée.

Java fait… boucle while

La do… whileboucle est similaire à la boucle while. Cependant, le corps de la do… whileboucle est exécuté une fois avant que l'expression de test ne soit vérifiée. Par exemple,

 do ( // body of loop ) while(textExpression)

Ici,

  1. Le corps de la boucle est d'abord exécuté. Ensuite, textExpression est évalué.
  2. Si textExpression est évalué à true, le corps de la boucle à l'intérieur de l' doinstruction est à nouveau exécuté.
  3. La textExpression est à nouveau évaluée.
  4. Si textExpression est évalué à true, le corps de la boucle à l'intérieur de l' doinstruction est à nouveau exécuté.
  5. Ce processus se poursuit jusqu'à ce que textExpression soit évalué false. Puis la boucle s'arrête.

Organigramme de la boucle do… while

Organigramme de Java faire en boucle

Voyons le fonctionnement de do… whileloop.

Exemple 3: affichage des nombres de 1 à 5

 // Java Program to display numbers from 1 to 5 import java.util.Scanner; // Program to find the sum of natural numbers from 1 to 100. class Main ( public static void main(String() args) ( int i = 1, n = 5; // do… while loop from 1 to 5 do ( System.out.println(i); i++; ) while(i <= n); ) )

Production

 1 2 3 4 5

Voici comment fonctionne ce programme.

Itération Variable Condition: i <= n action
i = 1
n = 5
non vérifié 1 est imprimé.
i est augmenté à 2 .
1er i = 2
n = 5
true 2 est imprimé.
i est augmenté à 3 .
2e i = 3
n = 5
true 3 est imprimé.
i est augmenté à 4 .
3e i = 4
n = 5
true 4 est imprimé.
i est augmenté à 5 .
4e i = 5
n = 5
true 6 est imprimé.
i est augmenté à 6 .
5e i = 6
n = 5
false La boucle est terminée

Exemple 4: Somme des nombres positifs

 // Java program to find the sum of positive numbers import java.util.Scanner; class Main ( public static void main(String() args) ( int sum = 0; int number = 0; // create an object of Scanner class Scanner input = new Scanner(System.in); // do… while loop continues // until entered number is positive do ( // add only positive numbers sum += number; System.out.println("Enter a number"); number = input.nextInt(); ) while(number>= 0); System.out.println("Sum = " + sum); input.close(); ) )

Sortie 1

 Entrez un nombre 25 Entrez un nombre 9 Entrez un nombre 5 Entrez un nombre -3 Somme = 39

Here, the user enters a positive number, that number is added to the sum variable. And this process continues until the number is negative. When the number is negative, the loop terminates and displays the sum without adding the negative number.

Output 2

 Enter a number -8 Sum is 0

Here, the user enters a negative number. The test condition will be false but the code inside of the loop executes once.

Infinite while loop

If the condition of a loop is always true, the loop runs for infinite times (until the memory is full). For example,

 // infinite while loop while(true)( // body of loop )

Here is an example of an infinite do… while loop.

 // infinite do… while loop int count = 1; do ( // body of loop ) while(count == 1)

In the above programs, the textExpression is always true. Hence, the loop body will run for infinite times.

for and while loops

La forboucle est utilisée lorsque le nombre d'itérations est connu. Par exemple,

 for (let i = 1; i <=5; ++i) ( // body of loop )

Et les boucles whileet do… whilesont généralement utilisées lorsque le nombre d'itérations est inconnu. Par exemple,

 while (condition) ( // body of loop )

Articles intéressants...