if (condition){
instructions
}
où condition est une expression qui retourne un booléen.
exemple :
if (temperature > 25){
term.ecrireString("il fait trop chaud pour travailler");
}
si la temperature est plus petit ou égal à 30,
le programme ne fait rien.
On peut aussi proposer une alternative :
if (temperature > 30){
term.ecrireString("il fait trop chaud pour travailler");
}
else {
term.ecrireString("la température est
adéquate pour travailler");
}
Dans ce cas, le programme écrira l'une ou l'autre phrase en
fonction de la valeur de temperature.
On peut aussi avoir plusieurs alternatives :
if (temperature > 30){
term.ecrireString("il fait trop chaud pour travailler");
}
else if (temperature < 15){
term.ecrireString("il fait trop froid pour travailler");
}
else {
term.ecrireString("la température est
adéquate pour travailler");
}
(il est possible d'avoir autant de else if que l'on souhaite,
mais il y a au maximum un else)
On peut avoir des conditions combinées :
if (temperature > 30 || temperature < 15){
term.ecrireString("on ne peut pas travailler");
}
|| signifie OU (&& signifie ET; != négation)
class Tortue extends SuperTortue{
void spirale(int nbCotes, int nbTours, int increment, int longInit){
int dist = longInit;
for (int j=0; j<nbTours;
j++){
for (int i=0; i<nbCotes; i++){
avance(dist);
tourneDroite(360/nbCotes);
dist += increment;
}
}
}
}
public class MonProg10a{
public static void main(String[] args){
Terminal term = new Terminal();
term.ecrireString("********************************");
term.ecrireString("Spirales");
term.ecrireString();
term.ecrireString("Combien
de cotes ? (2 < nb cotes)");
int nbCotes = term.lireInt();
if
(nbCotes < 3){
nbCotes = 3;
term.ecrireString("Une spirale doit avoir au moins trois cotes");
term.ecrireString("la tortue dessinera donc une spirale a trois cotes");
}
term.ecrireString("Combien
de tours ? (1 < nb tours)");
int nbTours = term.lireInt();
if
(nbTours < 1){
nbTours = 1;
term.ecrireString("une spirale doit avoir au minimum un tour");
term.ecrireString("la tortue dessinera donc une spirale a un tour");
}
term.ecrireString("Longueur
initiale du cote ? (0 <= longueur)");
int longueurInit = term.lireInt();
if
(longueurInit < 0){
longueurInit = 0;
term.ecrireString("la longueur initiale du trait ne doit pas etre negative");
term.ecrireString("la tortue utilisera une longueur initiale de 0");
}
term.ecrireString("Increment
?");
int incr = term.lireInt();
Tortue rosalie = new Tortue();
rosalie.spirale(nbCotes,
nbTours, longueurInit, incr);
}
}
MonProg10a.java
Au lieu de corriger "brusquement" les erreurs de l'utilisateur, on peut
lui donner la possibilité d'entrer une autre valeur pour un paramètre.
Exemple :
term.ecrireString("Combien de cotes ? (2 < nb cotes)");
int nbCotes = term.lireInt();
while (nbCotes < 3){
term.ecrireString("minimum 3, veuillez entrer
un autre nombre svp");
nbCotes = term.lireInt();
}
MonProg10c.java
(même programme que MonProg10a, mais avec des while au lieu
des if)
MonProg10d.java
(même programme que MonProg10b, mais avec des while au lieu
des if)