Instruction de commutateur Java (avec des exemples)

Dans ce didacticiel, vous apprendrez à utiliser l'instruction switch en Java pour contrôler le flux d'exécution de votre programme à l'aide d'exemples.

L' switchinstruction nous permet d'exécuter un bloc de code parmi de nombreuses alternatives.

La syntaxe de l' switchinstruction en Java est:

 switch (expression) ( case value1: // code to be executed if // expression is equal to value1 break; case value2: // code to be executed if // expression is equal to value2 break;… … default: // default statements )

Comment fonctionne l'instruction switch?

L'expression est évaluée une fois et comparée aux valeurs de chaque étiquette de cas .

  • S'il y a une correspondance, le code correspondant après l' étiquette de cas correspondante est exécuté.
    Par exemple, si la valeur de l'expression est égale à value2, le code après case value2:est exécuté.
  • S'il n'y a pas de correspondance, le code après default:est exécuté.

Remarque : Nous pouvons faire la même fonctionnalité en utilisant Java if… else… if ladder. Cependant, la syntaxe de l'instruction switch est plus propre et beaucoup plus facile à lire et à écrire.

Organigramme de la déclaration de commutation

Organigramme de l'instruction de commutation Java

Exemple 1: instruction de commutation Java

 // Java Program to check the size // using the switch… case statement class Main ( public static void main(String() args) ( int number = 44; String size; // switch statement to check size switch (number) ( case 29: size = "Small"; break; case 42: size = "Medium"; break; // match the value of week case 44: size = "Large"; break; case 48: size = "Extra Large"; break; default: size = "Unknown"; break; ) System.out.println("Size: " + size); ) )

Sortie :

 Taille large

Dans l'exemple ci-dessus, nous avons utilisé l'instruction switch pour trouver la taille. Ici, nous avons un nombre variable. La variable est comparée à la valeur de chaque instruction case.

Étant donné que la valeur correspond au cas 44 , la variable de taille est affectée avec une valeur Large.

instruction break dans le commutateur Java… cas

Notez que nous avons utilisé l' breakinstruction dans chaque bloc case. Ceci est utile pour terminer l'instruction.

Si l' breakinstruction n'est pas utilisée, tous les cas après le cas correspondant sont exécutés. Par exemple,

 class Main ( public static void main(String() args) ( int expression = 2; // switch statement to check size switch (expression) ( case 1: System.out.println("Case 1"); // matching case case 2: System.out.println("Case 2"); case 3: System.out.println("Case 3"); default: System.out.println("Default case"); ) ) )

Production

 Cas 2 Cas 3 Cas par défaut

Dans l'exemple ci-dessus, nous n'avons pas utilisé l' breakinstruction. Ici, l'expression correspond à case 2.

Vous pouvez voir que case 2tous les cas suivants sont également exécutés.

Ce n'est pas la sortie souhaitée. Par conséquent, il est nécessaire d'utiliser l' breakinstruction avec chaque bloc de cas .

Exemple 2: création d'une calculatrice à l'aide de l'instruction switch

Le programme ci-dessous prend trois entrées de l'utilisateur: un opérateur et 2 chiffres . Sur la base de l'opérateur fourni par l'utilisateur, il effectue le calcul sur les nombres. Ensuite, le résultat est affiché à l'écran.

Avant de parcourir le programme, assurez-vous que vous connaissez Java Scanner pour recevoir les commentaires de l'utilisateur.

 import java.util.Scanner; class Main ( public static void main(String() args) ( char operator; Double number1, number2, result; // create an object of Scanner class Scanner input = new Scanner(System.in); // ask users to enter operator System.out.print("Choose an operator: +, -, *, or /: "); operator = input.next().charAt(0); // ask users to enter numbers System.out.print("Enter first number: "); number1 = input.nextDouble(); System.out.println("Enter second number: "); number2 = input.nextDouble(); switch (operator) ( // performs addition between numbers case '+': result = number1 + number2; System.out.print(number1 + "+" + number2 + " = " + result); break; // performs subtraction between numbers case '-': result = number1 - number2; System.out.print(number1 + "-" + number2 + " = " + result); break; // performs multiplication between numbers case '*': result = number1 * number2; System.out.print(number1 + "*" + number2 + " = " + result); break; // performs division between numbers case '/': result = number1 / number2; System.out.print(number1 + "/" + number2 + " = " + result); break; default: System.out.println("Invalid operator!"); break; ) input.close(); ) )

Sortie 1

 Choisissez un opérateur: +, -, * ou /: + Entrez le premier numéro: 23 Entrez le deuxième numéro: 21 23,0 + 21,0 = 44,0

Sortie 2

 Choisissez un opérateur: +, -, * ou /: - Entrez le premier numéro: 24 Entrez le deuxième nombre: 13 24,0-13,0 = 11,0

Sortie 3

 Choisissez un opérateur: +, -, * ou /: * Entrez le premier numéro: 12 Entrez le deuxième nombre: 6 12,0 * 6,0 = 72,0

Sortie 4

 Choisissez un opérateur: +, -, * ou /: / Entrez le premier numéro: 36 Entrez le deuxième nombre: 6 36,0 / 6,0 = 6,0

Sortie 5

Choisissez un opérateur: +, -, * ou /:? Entrez le premier numéro: 12 Entrez le deuxième numéro: 23 Opérateur non valide!

Dans l'exemple ci-dessus, nous utilisons l' switch… caseinstruction pour effectuer l'addition, la soustraction, la multiplication et la division.

Remarque : l'instruction de commutation Java fonctionne uniquement avec:

  • Types de données Java Primitive: byte, short, char et int
  • Types énumérés Java
  • Classe de chaîne Java
  • Classes Java Wrapper: caractère, octet, court et entier.

Articles intéressants...