? Quand les programmeurs de créer des applications informatiques , ils mettent souvent en place des structures complexes dans leur code. Par exemple, plutôt que chaque ligne exécution séquentielle, un programme impliquera souvent des répétitions et des tests conditionnels déterminent lequel des états de code réellement exécutées. Déclarations de cas , aussi connu comme les états de commutation, effectuer des séquences de tests conditionnels . Enchaînés et si else aussi faire cela, donc les programmeurs doivent souvent choisir entre les deux types de déclarations . Différences
et d'autre chaînes peuvent parfois mener exactement la même tâche comme un cas ou un commutateur , déclaration. Cependant, certaines tâches ne peuvent être réalisées par l'un d'eux . Enchaînés et si else fournissent une série de tests pour le programme à exécuter , comme dans l' exemple de code Java suivant :
if ( num == 1) System.out.println ("un" ), d'autre if ( num == 2 ) System.out.println (" deux") ; else if (num == 3 ) System.out.println ( "trois" ) ; System.out.println autre (« pas une , deux ou trois ");
le code suivant représente le traitement équivalent à une instruction switch : commutateur de
(num) {case 1: System.out.println (" on " ) ; break; case 2: System.out.println (" deux") ; break; case 3: System.out.println ( "trois" ) ; break; default: System.out.println (" non pas un, deux ou trois "); break; }
les résultats de ces blocs de code sont les mêmes, mais leur mise en œuvre est différente
Tests
Case. ou un commutateur , les états ne peuvent impliquer certains types de données . Par exemple, en Java , les états de commutation peuvent seulement travailler sur les types primitifs ou énumérés , ainsi que les classes wrapper pour les types numériques. IF et ELSE déclarations peuvent effectuer des tests sur tout type de données , y compris les objets . Les tests dans les états de commutation ne concernent qu'une seule valeur, alors que dans le cas et else , le code peut tester des valeurs dans une certaine fourchette , ou pour des combinaisons de conditions à l'aide des opérateurs logiques - et , ou et non . Cela signifie que si et else offrent plus de choix en termes de tests conditionnels .
Chaînes
plutôt que d'être simplement une question de choix d'une structure de contrôle qui met en œuvre le traitement requis , les programmeurs choisissent souvent des structures basées sur la lisibilité . De nombreux programmeurs trouvent déclarations de cas plus concise et lisible lorsque les valeurs simples sont testés . Une longue liste de cas et d'autre des déclarations peut apparaître inutilement verbeux dans un script. La lisibilité est un facteur majeur dans la programmation, pour le développement futur et pour les projets de plus d'un développeur qui travaille sur eux.
Breaks
Dans une chaîne de si et else , il n'est normalement pas besoin de sortir d'une structure explicite. Avec le cas , ou un commutateur, déclarations cependant , il est nécessaire d'utiliser une instruction break , chargeant le programme pour quitter le bloc de code lorsque l'affaire n'est trouvé . Si aucune instruction break sont inclus, une instruction switch peut donc effectuer des tests inutiles. Les programmeurs aussi parfois négligent d'inclure la déclaration des cas de défaut , ce qui peut conduire à un comportement imprévisible .