1. Boucles dans notre vie
Très souvent, nos vies nous obligent à effectuer les mêmes actions plusieurs fois. Par exemple, supposons que je doive numériser un document composé de nombreuses pages. Que nous répétions la même procédure encore et encore :
- Placez la première page sur le scanner
- Appuyez sur le bouton de numérisation
- Placez la page suivante sur le scanner
C'est difficile à faire manuellement. Ce serait bien si ce processus pouvait être en quelque sorte automatisé.
Ou considérons un autre exemple : disons que je veux marquer tous les e-mails non lus dans ma boîte de réception comme spam. Il était une fois, je devais sélectionner chaque e-mail un par un et le marquer comme spam.
Mais les programmeurs sont paresseux, ils ont donc automatisé ce processus il y a longtemps : maintenant, il vous suffit de sélectionner n'importe quelle liste de lettres et de cliquer sur "marquer comme spam", puis votre client de messagerie parcourt la liste et déplace chaque e-mail vers le dossier spam.
Que pouvons-nous dire ici ? C'est super pratique lorsqu'un ordinateur ou un programme peut exécuter des centaines ou des milliers d'opérations monotones en un seul clic. Et maintenant, vous allez apprendre à faire cela aussi.
2. while
boucle
L'instruction if-else a considérablement élargi nos capacités de programmation, permettant d'écrire des programmes qui effectuent différentes actions dans différentes situations. Mais il y a encore une chose qui rendra nos programmes d'un ordre de grandeur plus puissants : les boucles .
Java a 4 types de boucles : while
, et . Nous allons maintenant creuser dans le tout premier d'entre eux.for
for-each
do-while
Une while
boucle est très simple. Il se compose de seulement deux parties : une condition et un corps de boucle . Le corps de la boucle est exécuté encore et encore tant que la condition est true
. En général, une while
boucle ressemble à ceci :
while (condition)
statement;
while (condition)
{
block of statements
}
C'est très simple. L' instruction ou le bloc d'instructions est exécuté encore et encore tant que la condition de boucle est égale à true
.
Voici comment cela fonctionne : premièrement, la condition est vérifiée. Si c'est vrai, alors le corps de la boucle est exécuté (l' instruction ou le bloc d'instructions ). Ensuite, la condition est vérifiée à nouveau et le corps de la boucle est exécuté à nouveau. Et ainsi de suite jusqu'à ce que la condition devienne fausse.
Si la condition est toujours vraie , le programme ne s'arrêtera jamais. Il sera définitivement coincé dans la boucle.
Si la condition est fausse la toute première fois qu'elle est vérifiée , alors le corps de la boucle ne sera pas exécuté une seule fois.
3. Exemples de boucles
Voici quelques exemples pratiques de boucles en action.
Code | Explication |
---|---|
|
5 lignes s'afficheront à l'écran :
|
Code | Explication |
---|---|
|
10 lignes s'afficheront à l'écran :
|
Code | Explication |
---|---|
|
Le programme lit les nombres à partir du clavier tant que des nombres sont entrés. |
Code | Explication |
---|---|
|
Le programme imprimera sans cesse la lettre C sur l'écran. |
Code | Explication |
---|---|
|
Le programme lira les lignes du clavier
jusqu'à ce que |
Dans l'exemple précédent, la equals()
méthode est utilisée pour comparer des chaînes. Si les chaînes sont égales, la fonction renverra true
. Si les chaînes ne sont pas égales, alors il retournera false
.
4. Boucle dans une boucle
En découvrant les instructions conditionnelles, vous avez vu que vous pouvez les utiliser pour implémenter une logique complexe en combinant plusieurs instructions conditionnelles. En d'autres termes, en utilisant une if
instruction à l'intérieur d'une if
instruction.
Vous pouvez faire la même chose avec des boucles. Pour écrire une boucle dans une boucle, vous devez écrire la deuxième boucle à l'intérieur du corps de la première boucle. Cela ressemblera à ceci :
while (condition for outer loop)
{
while (condition for inner loop)
{
block of statements
}
}
Examinons trois tâches.
Tâche 1 . Disons que nous voulons écrire un programme qui affiche le mot Mom
à l'écran 4 fois. Une boucle est exactement ce dont nous avons besoin. Et notre code ressemblera à ceci :
Code | Explication |
---|---|
|
4 lignes s'afficheront à l'écran :
|
Tâche 2 . Nous voulons écrire un programme qui affiche 5 lettres A
s sur une seule ligne. Pour ce faire, nous avons à nouveau besoin d'une boucle. Voici à quoi ressemblera le code :
Code | Explication |
---|---|
|
Au lieu de println() , nous utiliserons print() . Sinon, chaque lettre A se retrouverait sur une ligne distincte. La sortie d'écran sera :
|
Tâche 3 . Nous voulons afficher un rectangle composé de la lettre A
s. Le rectangle doit être composé de 4 lignes sur 5 colonnes. Pour ce faire, nous avons maintenant besoin d'une boucle imbriquée. Nous allons simplement prendre notre premier exemple (celui où nous produisons 4 lignes) et remplacer le code de sortie d'une ligne par le code du deuxième exemple.
Code | Explication |
---|---|
|
La boucle extérieure est violette. Il utilise la n variable pour compter le nombre d'itérations de la boucle. La boucle intérieure est verte. Il utilise la m variable pour compter le nombre d'itérations de boucle. Nous devons explicitement déplacer le curseur sur la ligne suivante une fois la boucle interne terminée. Sinon, toutes les lettres imprimées par le programme se retrouveront sur une seule ligne. La sortie d'écran sera :
|
Les boucles externe et interne doivent utiliser des variables différentes pour compter le nombre d'itérations de boucle. Nous avons également dû ajouter la System.out.println()
commande après la boucle interne, car cette boucle affiche la lettre A
s sur la même ligne. Une fois que les lettres d'une ligne sont affichées, quelqu'un doit déplacer le curseur vers une nouvelle ligne.
5. Comparaison des boucles Java vs Pascal
Beaucoup d'entre vous ont étudié Pascal au lycée. Pour vous faciliter la compréhension du matériel ici, jetez un œil à cette comparaison de while
boucles écrites en Pascal et Java. Si vous ne connaissez pas Pascal, sautez simplement cette partie.
Pascal | Java |
---|---|
|
|
|
|
|
|
|
|
|
|
GO TO FULL VERSION