Java >> Java tutorial >  >> Tag >> switch

Java Switch Statement | Eksempel på Switch Case Multiple Values

En Java switch-erklæring er matchet case(condition) og udfør sætning for det. I Switch-sætningen vil der ved hjælp af bestået værdi og derefter denne værdi gå ned på listen over sagen for at finde en matchet. Hvis Der ikke er matchet, vil det returnere standardsætningen.

Når du bruger en if-else-tilstandssætning, bliver den længere, så du kan bruge en switch-sætning i stedet for den.

Denne vejledning vil du lære om Hvad er og hvordan man bruger switch case i java.

Syntaks

Her er java switch-sætningssyntaksen:

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

Skift erklæringsflowdiagram:

Se på flowdiagrammet, hvordan switch cases fungerer.

Eksempel på Java-switch

Et simpelt eksempel på switch-sætningen, hvor deklarering af variabler med værdier og pass in switch udtrykker. Hvis nogen af ​​sagen matches, vil den udskrive den matchede erklæring ellers standardværdi. Der kræves et pausenøgleord for at stoppe koden på sagen.

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");
        }
    }
}

Output: Værdi 2

Java Switch-erklæring med streng

Det ser ud til, at øverste eksempel har baseret brugte int-værdier, se nu, hvordan du bruger en Switch-sætning med streng.

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");
        }
    }
}

Output: Godt gået

Skift store og små værdier

Hvad hvis du vil have en kontrol med flere værdier for en enkelt erklæring? Her er et eksempel på Java switch case med flere værdier.

case text1: case text4: 
     do stuff;
     break;

Komplet eksempel:

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");
        }
    }
}

Output: Værdi 1
Værdi 2

QA:Hvad hvis du ikke bruger et break-søgeord i en switch case-erklæring?

I denne situation ikke bruge pause søgeord så er Java-switch-sætningen faldende. Det betyder, at den vil udføre alle udsagn efter den første case-match. Se dette eksempel efter matchet tilfælde 2: hele sætningen udføres og udskrives.

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");
        }
    }
}

Output: Værdi 2
Værdi 3
Ikke i 1, 2 eller 3

QA:Hvad hvis værdien for 2 tilfælde er den samme?

I dette tilfælde vil compileren kaste en Fejl:(14, 13) java: duplicate case label

Her er et eksempel på det samme.

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");
        }
    }
}

Output skærmbillede:

Nogle bemærkninger:

Her er et vigtigt punkt i switch-sætningen i Java, som du skal følge.

  • Du kan bruge N antal kasusværdier til et skifteudtryk.
  • Case-enheden skal være unik, ellers opstod der en kompileringsfejl.
  • Variabler er ikke tilladt i case unit
  • Standard store og små bogstaver er valgfri.

Skriv en kommentar, hvis du er i tvivl og forslag til denne øvelse.


No
Java tag