Les différences entre les « switch case » et les « else if »
C’est une question plutôt délicate à traiter, en effet les différences entre les deux sont assez faibles !
Pour faire simple, si vous prévoyez d’avoir beaucoup de choix (>5), alors il vaut mieux utiliser un switch. La raison est simple, le switch dispose du même temps d’accès peu importe le choix que vous lui donnez parce qu’il n’a pas à vérifier toutes les conditions contrairement aux « else if ».
Par exemple pour un « a = 5 » donné nous avons ces deux codes :
int a = 5; if (a == 1) { .... } else if(a == 2) { .... } else if(a == 3) { .... } else if(a == 4) { .... } else ....
Dans ce cas là, notre a doit parcourir une à une chaque condition puisqu’il ne vaut ni 1 ni 2 ni 3… Un if fonctionne d’une façon linéaire, il lis chaque conditions que vous lui avez donné jusqu’à trouver celle qui correspond à votre demande.
Alors que pour un switch :
int a = 5; switch(a) { case 1: ... break; case 2: ... break; case 3: ... break; case 4: ... break; case 5: ... break; default: ... break; }
Là, il ira directement dans notre « case 5 » puisqu’il s’agit du même chiffre correspondant à notre « a » !
Et voilà, c’est tout !