« 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'' ===
<
while (boolean) {
...// Code à exécuter dans la boucle
}
</syntaxhighlight>
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'' ===
<
do {
...//Code à exécuter dans la boucle
} while (boolean);
</syntaxhighlight>
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'' :
<
class BoucleDo {
public static void main(String arg[]) {
Ligne 44 :
}
}
</syntaxhighlight>
=== Boucle ''for'' ===
<
for (initialisation; condition; modification) {
...//Code à exécuter dans la boucle
}
</syntaxhighlight>
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.
<
for (MonType mon_objet : ma_collection) {
mon_objet.ma_methode();
...//Code à exécuter dans la boucle
}
</syntaxhighlight>
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 ...''.
<
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>
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.
<
switch(expression) {
case constant1 :
Ligne 105 :
....
}
</syntaxhighlight>
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.
<
variable = (condition) ? instruction 1 : instruction 2 ;
</syntaxhighlight>
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.
<
int nombre =(boolean)? 1 : 2 ;
</syntaxhighlight>
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:
<
variable = (condition) ? ((autre condition)? instruction1 :instruction2):instruction3 ;
</syntaxhighlight>
Et ainsi de suite...
Il n'est cependant pas conseillé de faire un usage trop systématique de cette condition, trop peu lisible.
|