Exercice Corrige Java : Syntaxe de if et de switch en JAVA

Les instructions de contrôle

Quelles erreurs ont été commises dans chacun des groupes d’instructions suivants. On suppose que les variables concernées sont d’un type primitif numérique et qu’elles ont été correctement déclarées (un groupe ne comporte aucune erreur) :

// groupe 1

if (a < b) System.out.println ("ascendant")
      else System.out.println ("non ascendant") ;

// groupe 2

if (a < b) { System.out.println ("ascendant) ; max = b }


// groupe 3


int n, p ;
   .....
switch (n) { case 2 : System.out.println ("petit") ;  break ;
             case p : System.out.println ("limite") ; break ;
           }


// groupe 4


int n ;
final int LIMITE = 20 ;
   .....
switch (n) { case LIMITE-1 : System.out.println ("un peu trop petit") ; break ;
             case LIMITE   : System.out.println ("OK") ;                break ;
             case LIMITE+1 : System.out.println ("un peu trop grand") ; break ;
           }


Solution :


// groupe 1


Il manque un point-virgule à la fin du premier appel de System.out.println :

if (a < b) System.out.println ("ascendant") ;
      else System.out.println ("non ascendant") ;

// groupe 2


Il manque un point-virgule à la fin de la deuxième instruction du bloc :

if (a < b) { System.out.println ("ascendant) ; max = b ; }



// groupe 3


Les valeurs utilisées dans les étiquettes de la forme case xxx doivent être des expressions constantes, ce qui n’est pas le cas de p.

// groupe 4


Aucune erreur. Les expressions telles que LIMITE-1 étant bien cette fois des expressions constantes.





Article plus récent Article plus ancien

Leave a Reply

Telechargement