« Java/Boucles et structures conditionnelles » : différence entre les versions

Contenu supprimé Contenu ajouté
m Robot : Remplacement de texte automatisé (-(<\/?)source +\1syntaxhighlight)
Ligne 11 :
== Les boucles ==
=== Boucle ''while'' ===
<sourcesyntaxhighlight lang="java">
while (boolean) {
...// Code à exécuter dans la boucle
}
</syntaxhighlight>
</source>
 
Le code est exécuté tant que le booléen est vrai. Si avant l'instruction while, le booléen est faux, alors le code de la boucle ne sera jamais exécuté.
Ligne 24 :
 
=== Boucle ''do...while'' ===
<sourcesyntaxhighlight lang="java">
do {
...//Code à exécuter dans la boucle
} while (boolean);
</syntaxhighlight>
</source>
 
Les boucles ''do...while'' sont des variantes des boucles ''while''. Leur particularité réside dans le fait que la condition est testée après la première exécution de la boucle. Le code est exécuté tant que la condition est satisfaite et est exécuté au moins une fois.
Ligne 34 :
Exemple de code utilisant la boucle ''do..while'' :
 
<sourcesyntaxhighlight lang="java">
class BoucleDo {
public static void main(String arg[]) {
Ligne 44 :
}
}
</syntaxhighlight>
</source>
 
=== Boucle ''for'' ===
<sourcesyntaxhighlight lang="java">
for (initialisation; condition; modification) {
...//Code à exécuter dans la boucle
}
</syntaxhighlight>
</source>
 
Les boucles ''for'' testent une condition et exécutent le bout de code attaché à la boucle tant que la ''condition'' est remplie.
Ligne 59 :
=== Boucle ''for each'' ===
Il existe une variante de la boucle ''for'', la boucle ''for each'' qui permet de parcourir une collection.
<sourcesyntaxhighlight lang="java">
for (MonType mon_objet : ma_collection) {
mon_objet.ma_methode();
...//Code à exécuter dans la boucle
}
</syntaxhighlight>
</source>
Cette boucle se lit : "Pour chaque objet <code>mon_objet</code> du type <code>MonType</code> de la collection <code>ma_collection</code> alors... "
 
Ligne 71 :
Les conditions utilisent des données booléennes, ''true'' ou ''false''. Elles vérifient si une condition est remplie. Si oui, elles effectuent un bout de code prédéfini, sinon elles exécutent un autre bout de code prédéfini ou passent directement au reste du programme. Elles ont la forme ''if...else ...''.
 
<sourcesyntaxhighlight lang="java">
if (boolean) {
...//Code à exécuter dans la condition
Ligne 81 :
...//Code à exécuter si les précédentes conditions ne sont pas vérifiées
}
</syntaxhighlight>
</source>
 
Remarque : on peut aussi avoir un conditionnel ne comprenant que la partie ''if(boolean){...}''. Dans ce cas, si la condition est remplie, le code entre accolades sera exécuté, sinon, il ne le sera pas et le programme passe à la suite du code. Ainsi, il n’est pas nécessaire de faire apparaître un ''else'' s'il n'y a rien à exécuter si la condition n’est pas remplie.
Ligne 93 :
Il est possible d'imbriquer des switch.
 
<sourcesyntaxhighlight lang="java">
switch(expression) {
case constant1 :
Ligne 105 :
....
}
</syntaxhighlight>
</source>
 
Remarque : le dernier cas marqué par la présence de ''default'', représentant bien entendu le cas par défaut au cas où ''expression'' ne corresponde à aucun des ''case'', n’est pas obligatoire si l’on peut s'assurer qu' ''expression'' correspondra toujours à l'un des ''case''.
Ligne 125 :
La condition ternaire utilise également des données booléennes, ''true'' ou ''false''.
Cette condition est une sorte de "condensé" de la structure if/else.
<sourcesyntaxhighlight lang="java">
variable = (condition) ? instruction 1 : instruction 2 ;
</syntaxhighlight>
</source>
Si la condition (boolean) est vraie, c’est l'instruction1 située après le point d'interrogation (?) qui est effectuée; si elle est fausse, c’est l'instruction2 située après les deux points (:) qui est effectuée. La condition doit être entre parenthèses obligatoirement.
<sourcesyntaxhighlight lang="java">
int nombre =(boolean)? 1 : 2 ;
</syntaxhighlight>
</source>
Ainsi : nombre est égal à 1 si la condition est vraie, à 2 si la condition est fausse.
 
Il est également possible d'imbriquer des conditions ternaires:
<sourcesyntaxhighlight lang="java">
variable = (condition) ? ((autre condition)? instruction1 :instruction2):instruction3 ;
</syntaxhighlight>
</source>
Et ainsi de suite...
Il n'est cependant pas conseillé de faire un usage trop systématique de cette condition, trop peu lisible.