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

Java Switch Statement – ​​Lær hvordan det fungerer med kodningseksempler

Vi bruger alle elektriske kontakter i vores almindelige liv til at kontrollere det elektriske udstyr. For hvert bestemt elektrisk udstyr er der en unik kontakt til at betjene dem. Og hver kontakt kan kun aktivere eller deaktivere ét element.

På samme måde er kontakter i Java kun som disse elektriske kontakter. Har du nogensinde undret dig over, hvordan switch statement i Java hjælper os med beslutningstagning?

Svaret er, at switch-udsagn hjælper os med beslutningstagning i Java. De er nyttige til at udføre én sætning fra flere betingelser eller udtryk.

I denne artikel vil vi udelukkende diskutere og implementere switch-casen eller switch-sætningen i Java med eksempler.

Hold dig opdateret med de nyeste teknologitrends, Deltag i TechVidvan på Telegram

Skift erklæring i Java

En Java-switch-sætning er en flergrenet sætning, der udfører en sætning fra flere forhold. Switch-sætningen kontrollerer successivt værdien af ​​et udtryk med en liste over heltal (int, byte, short, long), karakter (char) konstanter, String (Siden Java 7) eller enum-typer.

Det fungerer også med nogle Java Wrapper-klasser som Byte, Short, Integer og Long. Når den finder et match, udføres de sætninger, der er knyttet til det testudtryk.

En Switch-sætning er som en if-else-if-sætning af Java. Med andre ord kontrollerer switch-sætningen ligheden af ​​en variabel mod flere værdier.

Syntaksen eller den generelle form for en switch-sætning er:

switch (expression)
{
     case value1:
     statement1;
     break;

     case value2:
     statement2;
     break;
     .
     .
     case valueN:
     statementN;
     break;

     default:
     statementDefault;
}

Brug af en switch-erklæring

Switch-sætningen evaluerer det betingede udtryk og matcher værdierne mod de konstante værdier, der er angivet i caseudsagnene .

Når den finder et match, udføres den erklæring, der er knyttet til den pågældende sag, indtil den støder på en pause udmelding. Når der ikke er noget match, vises standarderklæringen bliver henrettet.

Hvis der ikke er nogen pause sætning, flytter kontrolflowet til det næste tilfælde under det matchende tilfælde, og dette kaldes gennemfaldet.

Nogle vigtige punkter om Switch Statements i Java

Dette er nogle vigtige regler for Java-switch-sagen:

  • Der er ingen grænse for antallet af sager i en switch-sætning. Der kan være et eller 'N' antal sager i en switch-sætning.
  • Caseværdierne skal være unikke og kan ikke duplikeres. Hvis der er en dubletværdi, er det en kompileringsfejl.
  • Datatypen for værdierne for en sag skal være den samme som datatypen for variablen i switch-testudtrykket.
  • Værdierne for en sag skal være konstante eller bogstavelige typer. Værdierne kan være int, byte, short, int, long eller char.
  • Vi kan også ombryde klasser som værdierne af kasus, dvs. Integer, Long, Short og Byte. Vi kan også bruge strenge og enums til værdien af ​​case-udsagn.
  • Vi bruger break-sætningen inde i switch-casen til at afslutte en sætning.
  • Pauseerklæringen er valgfri, og i mangel af pauseerklæringen fortsætter betingelsen til næste tilfælde.
  • Standardsætningen i switch-tilfældet er heller ikke obligatorisk, men hvis der ikke er noget udtryk, der matcher sagen (eller hvis alle matchninger mislykkes), vil intet udføres. Der er ikke behov for en pauseerklæring i standardtilfældet.
  • Vi kan ikke bruge variabler i en switch-sætning.

Eksempler på Switch Statement i Java

package com.techvidvan.switchstatement;
//A Java program to demonstrate the use of switch case
public class SwitchCaseDemo1
{
  public static void main(String[] args)
  {
    int day = 5;
    switch (day) {
    case 1:
      System.out.println("Monday");
      break;
    case 2:
      System.out.println("Tuesday");
      break;
    case 3:
      System.out.println("Wednesday");
      break;
    case 4:
      System.out.println("Thursday");
      break;
    case 5:
      System.out.println("Friday");
      break;
    case 6:
      System.out.println("Saturday");
      break;
    case 7:
      System.out.println("Sunday");
      break;
    default:
      System.out.println("Invalid");

    }
  }
}

Output:

Fredag

Spring af break-sætningen i Java Switch:Fall-Through

pausen statement er valgfrit i switch-tilfældet. Men programmet vil stadig fortsætte med at køre, hvis vi ikke bruger nogen break-sætning. Du kan overveje nedenstående kode for det samme.

package com.techvidvan.switchstatement;
public class SwitchCaseDemo2
{
  //Switch case example in Java where we are omitting the break statement
  public static void main(String[] args)
  {
    int number = 20;
    //switch expression with integer value
    switch(number)
    {
    //switch cases without break statements
    case 10:
      System.out.println("Ten");
    case 20:
      System.out.println("Twenty");
    case 30:
      System.out.println("Thirty");
    default:
      System.out.println("Not in 10, 20 or 30");
    }
  }
}

Output:

Tyve
Tredive
Ikke i 10, 20 eller 30

Flere sagsudsagn for samme operation

Hvis der er flere sager i switch-sætningen, og du ikke ønsker at skrive nogen handling i en case-sætning, flytter kontrolelementet til næste sag, indtil det støder på break-sætningen. For eksempel:

package com.techvidvan.switchstatement;
public class Test
{
  public static void main(String args[])
  {
    int number = 10;
    switch(number)
    {
    case 5 :
      //writing no operations for case 5

    case 10 : System.out.println("The number is " +number);
    break;
    default: System.out.println("The number is not 10");
    }
  }
}

Output:

Tallet er 10

yield Instruktion i Java Switch Statement

Vi kan bruge Java switch yield instruktionen fra Java 13. Den returnerer en værdi fra et Java switch udtryk.

Kode til at forstå udbytte i Java-switch:

package com.techvidvan.switchstatement;
public class YieldInstruction
{
  public static void main(String args[ ])
  {
    String token = "TechVidvan";
    int tokenType = switch(token)
    {
    case "TechVidvan": yield 0 ;
    case "Java": yield 1 ;
    default: yield -1 ;
    };
    System.out.println(tokenType);
  }
}

Output:

Værdien af ​​tokenType er:0

Indlejrede switch-udsagn i Java

Når en switch-sætning har en anden switch-sætning i sig, kaldes den en indlejret switch-sætning. Lad os se et eksempel for at forstå de indlejrede switch-sætninger i Java.

package com.techvidvan.switchstatement;
public class NestedSwitchCaseDemo
{
  //Java Switch Example where we are skipping the break statement
  public static void main(String args[ ])
  {
    String branch="CSE";		//Declaring string
    int year=2;		       //Declaring integer

    //switch expression
    //Outer Switch
    switch(year)
    {
    //case statement
    case 1:
      System.out.println("Optional courses for first year: Engineering Drawing, Learning C");
      break;

    case 2:
    {
      //Inner switch
      switch(branch)
      {
      case "CSE":
        System.out.println("Optional Courses for second year CSE branch: Cyber Security, Big Data and Hadoop");
        break;
      case "CCE":
        System.out.println("Optional Courses for second year CCE branch: Machine Learning, Big Data and Hadoop");
        break;
      case "IT":
        System.out.println("Optional Courses for second year IT branch: Cloud Computing, Artificial Intelligence");
        break;
      default:
        System.out.println("Optional Courses: Optimization");
      }
    }
    }
  }
}

Output:

Valgfrie kurser for andet års CSE-gren:Cybersikkerhed, Big Data og Hadoop

Brug af strenge med Java Switch Statement

Siden Java SE 7 kan vi bruge strengene i et switch-udtryk. Kasussætningen skal være en streng bogstavelig.

Kode til at forstå switchcase med String:

package com.techvidvan.switchstatement;
public class SwitchStringExample
{
  public static void main(String[ ] args)
  {
    //Declaring a String variable
    String operation = "Addition";

    int result = 0;
    int number1 = 20, number2 = 10;

    //Using String in switch expression
    switch(operation)
    {
    //Using String Literal in switch case
    case "Addition":
      result = number1 + number2;
      break;
    case "Subtraction":
      result = number1 - number2;
      break;
    case "Multiplication":
      result = number1 * number2;
      break;
    default:
      result = 0;
      break;
    }
    System.out.println("The result is: " +result);
  }
}

Output:

Resultatet er:30

Brug af bogstaver for tegn med Java Switch Statement

Vi kan bruge datatypen 'char' med switch-sætningen. Følgende kode forklarer switch-sætningen ved hjælp af bogstavet bogstav.

Kode til at forstå omskifter-case med Character Literals:

package com.techvidvan.switchstatement;
public class SwitchCharExample
{
  public static void main(String[] args)
  {
    //Declaring char variable
    char courseId = 'C';

    //Using char in switch expression
    switch(courseId)
    {
    //Using Character Literal in the switch case
    case 'A':
      System.out.println("Techvidvan's Python Course");
      break;
    case 'B':
      System.out.println("Techvidvan's Big Data and Hadoop Course");
      break;
    case 'C':
      System.out.println("Techvidvan's Java Course");
      break;
    default:
      System.out.println("Invalid course id");
    }
  }
}

Output:

Techvidvans Java-kursus

Brug af Enum med Java Switch Statement

Det er også muligt at bruge Java enums med en switch-sætning. Nedenfor er et Java-eksempel, der opretter en Java-enum og derefter bruger den i en switch-sætning.

Kode til at forstå switch casen med Java enums:

package com.techvidvan.switchstatement;
public class SwitchOnEnum
{
  private static enum Size
  {
    SMALL, MEDIUM, LARGE, X_LARGE
  }
  void switchOnEnum(Size size)
  {
    switch(size)
    {

    case SMALL:
      System.out.println("Size is small");
      break;
    case MEDIUM:
      System.out.println("Size is medium");
      break;
    case LARGE:
      System.out.println("Size is large");
      break;
    case X_LARGE:
      System.out.println("Size is X-large");
      break;
    default:
      System.out.println(Size is not S, M, L, or XL”);
    }
  }
  public static void main(String args[])
  {
    SwitchOnEnum obj = new SwitchOnEnum();
    obj.switchOnEnum(Size.LARGE);
  }
}

Output:

Størrelsen er stor

Brug tilfælde af Java Switch Statement

  • Java-switch-udtrykkene er nyttige, hvor du har flere valgmuligheder, sager eller muligheder, og du skal teste disse værdier mod en enkelt værdi.
  • Switch-sætninger er primært nyttige, når vi ønsker at løse en værdi til en anden. For eksempel, når vi skal konvertere ugedagen (tal) til en ugedag (streng) eller omvendt.
  • Switch-udtryk i Java er også nyttige til at parse strengtokens til heltalstokentyper eller tegntyper til tal.

Oversigt

Med dette er vi nået til slutningen af ​​denne tutorial om switch case statement i Java. Og nu er du godt bekendt med switch-sætningen i Java. Vi lærte at implementere det i mange forskellige scenarier alt efter vores behov.

En switch-erklæring kan hjælpe dig med bedre beslutningstagning i Java. De er også meget nyttige til at parse den ene type værdi til den anden. Som Java-begynder bør du mestre dette koncept for at blive ekspert i Java-programmering.

Tak fordi du læste vores artikel. Del vores artikel på sociale medier.

God læring 🙂


Java tag