next up previous contents index
suivant: Itérations monter: Branchements et aiguillages précédent: Branchement « if »   Table des matières   Index


Aiguillage « switch »

Il est souvent utile d'exécuter des instructions en fonction de la valeur d'un entier ou d'un caractère ; Java offre une instruction d'aiguillage à cette fin. L'exemple suivant pourrait servir, avec quelques lignes supplémentaires, à compter les voyelles et les consonnes d'un texte, c étant une variable de type char :

    switch (c) {
      case 'a': 
      case 'e': 
      case 'i': 
        voyelles = voyelles + 1;
        break;
      case 'b': 
      case 'c': 
      case 'd': 
        consonnes = consonnes + 1;
        break;
      default: 
        autres = autres + 1;
    }

L'instruction d'aiguillage switch est formée à partir d'une expression exp et d'un bloc d'instructions étiquetées :

    switch (exp) {
      ...
    }

L'expression doit être de l'un des types byte, short, int, long ou char ; les instructions du bloc peuvent être étiquetées par un case ou par default :

      case const: ... ;
      default: ... ;

La valeur de l'expression exp est successivement comparée à la valeur de chacune des expressions constantes const figurant à droite de case. Dès qu'il y a un cas d'égalité, l'instruction suivant ce case est exécutée, ainsi que toutes les instructions suivantes, jusqu'à la fin du bloc ou jusqu'à un échappement : les instructions break ou return. Si aucune égalité n'est vérifiée, ce sont les instructions qui suivent le cas default qui sont exécutées.

Dans les usages courants du switch, chaque cas (non-vide) est terminé par un échappement :

    switch (exp) {
      case ...: ... ; break ;
      case ...: ... ; break ;
      default : ... ;
    }


next up previous contents index
suivant: Itérations monter: Branchements et aiguillages précédent: Branchement « if »   Table des matières   Index
Rene' LALEMENT 2002-11-07