if_statement

if_statement 
      ::= 
      "if" "(" expression ")" statement 
      [ "else" statement ] 

[rule list]
This rule is called by

-> statement

Explications

Cette construction est utilisée pour exécuter conditionnellement une instruction ou un bloc d'instructions. La condition (expression) est évaluée. Si elle est vraie, alors on exécute l'instruction qui suit, sinon, on exécute l'instruction se trouvant dans la branche else.

Notons qu'une expression est de type booléen et que l'on ne peut pas utiliser un entier valant 0 ou 1 comme on le ferait en C.

Exemple

class exSimple1 {

    public static void main(String args[]) {
        int entA = 10;
        int entB = 12;
        int entX;
        
        System.out.println("L'entier A vaut "+entA);
        System.out.println("L'entier B vaut "+entB);
        
        if (entA < entB)
            System.out.println("A est plus petit que B");
        else if (entA == entB)
            System.out.println("A est egal a B");
        else
            System.out.println("A est plus grand que B");
        
        System.out.println("comptons de 1 a "+entA);

        int somme = 0;
        int fact = 1;
        for (int i = 1;i <= entA;i++) {
            System.out.print(" "+i);
            somme += i;
            fact *= i;
        }
        System.out.println();
        System.out.println("la somme de tous les nombres de 1 a "+entA+" vaut "+somme);
        System.out.println("la factorielle de "+entA+" vaut "+fact);
    }

}

Exécution

L'entier A vaut 10
L'entier B vaut 12
A est plus petit que B
comptons de 1 a 10
 1 2 3 4 5 6 7 8 9 10
la somme de tous les nombres de 1 a 10 vaut 55
la factorielle de 10 vaut 3628800

Attention !

Attention lorsque l'on a une structure de ce type :
if (cond1)
        if (cond2)
                instrA;
        else
                instrB;
instrB ne sera exécuté que si cond1 est vraie ET cond2 est fausses. La branche else est toujours attachée au dernier if rencontré.
Index général - Index concepts - Règles BNF
© 1996, DIP Genève, Alexandre Maret & Jacques Guyot
page générée Fri Jun 21 15:40:58 MET DST 1996