Java >> Tutoriel Java >  >> Tag >> switch

Déclaration de commutateur Java | Exemple de changement de casse de valeurs multiples

Une instruction de commutateur Java correspond à la case (condition) et exécutez l'instruction pour cela. Dans l'instruction Switch, utilisez la valeur de passage, puis cette valeur descendra dans la liste des cas pour en trouver un correspondant. S'il n'y a pas de correspondance, il renverra l'instruction par défaut.

Lorsque vous utilisez une instruction de condition if-else, elle deviendra plus longue. Vous pouvez donc utiliser une instruction switch à la place.

Ce tutoriel vous apprendra ce qu'est et comment utiliser le cas de commutation en Java.

Syntaxe

Voici la syntaxe de l'instruction java switch :

switch (variable/expression) {
case value1:
   // statements
   break; //optional
case value2:
   // statements
   break;
default:
   // statements
}

Schéma de flux de l'instruction Switch :

Regardez l'organigramme, comment fonctionnent les cas de commutation.

Exemple de commutateur Java

Un exemple simple de l'instruction switch, où déclarer des variables avec des valeurs et passer dans switch express. Si l'un des cas correspond, il imprimera l'instruction correspondante, sinon la valeur par défaut. Un mot-clé break est requis pour arrêter le code sur le cas.

package eye.hunts;

public class A {
    public static void main(String[] args) {
        //Declaring a variable 
        int number = 2;
        //Switch expression
        switch (number) {
            //Case statements
            case 1:
                System.out.println("Value 1");
                break;
            case 2:
                System.out.println("Value 2");
                break;
            case 3:
                System.out.println("Value 3");
                break;
                //Default case statement
            default:
                System.out.println("Not in 1, 2 or 3");
        }
    }
}

Sortie : Valeur 2

Instruction Java Switch avec chaîne

Vous avez semble que l'exemple supérieur ait basé sur des valeurs int utilisées, regardez maintenant comment utiliser une instruction Switch avec une chaîne.

package eye.hunts;

public class A {
    public static void main(String[] args) {
        // char grade = args[0].charAt(0);
        char grade = 'C';

        switch(grade) {
            case 'A' :
                System.out.println("Excellent!");
                break;
            case 'B' :
                System.out.println("Good!");
            case 'C' :
                System.out.println("Well done");
                break;
            case 'D' :
                System.out.println("You passed");
            case 'F' :
                System.out.println("Better try again");
                break;
            default :
                System.out.println("Invalid grade");
        }
    }
}

Sortie : Bravo

Changer la casse de plusieurs valeurs

Que se passe-t-il si vous voulez un contrôle de valeurs multiples pour une seule instruction ? Voici un exemple de plusieurs valeurs de cas de commutation Java.

case text1: case text4: 
     do stuff;
     break;

Exemple complet :

package eye.hunts;

public class A {
    public static void main(String[] args) {
        //Declaring a variable
        int number = 2;
        //Switch expression
        switch (number) {
            //Case statements
            case 1: case 2:
                System.out.println("Value 1");
                System.out.println("Value 2");
                break;
            case 3:
                System.out.println("Value 3");
                break;
                //Default case statement
            default:
                System.out.println("Not in 1, 2 or 3");
        }
    }
}

Sortie : Valeur 1
Valeur 2

QA :Que se passe-t-il si vous n'utilisez pas de mot clé break dans une instruction switch case ?

Dans cette situation, ne pas utiliser le mot clé break alors l'instruction de commutateur Java est de secours. Cela signifie qu'il exécutera toutes les instructions après la première correspondance de cas. Voir cet exemple après le cas 2 correspondant : toute l'instruction est exécutée et imprimée.

package eye.hunts;

public class A {
    public static void main(String[] args) {
        //Declaring a variable
        int number = 2;
        //Switch expression
        switch (number) {
            //Case statements
            case 1:
                System.out.println("Value 1");
            case 2:
                System.out.println("Value 2");
            case 3:
                System.out.println("Value 3");
                //Default case statement
            default:
                System.out.println("Not in 1, 2 or 3");
        }
    }
}

Sortie : Valeur 2
Valeur 3
Pas en 1, 2 ou 3

QA :Que se passe-t-il si la valeur unitaire de 2 caisses est la même ?

Dans ce cas, le compilateur lancera une Erreur :(14, 13) java: duplicate case label

Voici un exemple pour le même.

package eye.hunts;

public class A {
    public static void main(String[] args) {
        //Declaring a variable
        int number = 2;
        //Switch expression
        switch (number) {
            //Case statements
            case 1:
                System.out.println("Value 1");
            case 2:
                System.out.println("Value 2");
            case 2:
                System.out.println("Value 3");
                //Default case statement
            default:
                System.out.println("Not in 1, 2 or 3");
        }
    }
}

Capture d'écran de sortie :

Quelques remarques :

Voici un point important de l'instruction switch en Java, à suivre.

  • Vous pouvez utiliser un nombre N de valeurs de cas pour une expression de commutateur.
  • L'unité Case doit être unique, sinon une erreur de compilation s'est produite.
  • Les variables ne sont pas autorisées dans l'unité de cas
  • La casse par défaut est facultative.

N'hésitez pas à commenter si vous avez des doutes et des suggestions sur ce tutoriel.


No
Balise Java