Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Switch-Case-setning | Grunnleggende Typer og Operasjoner
Java Grunnleggende

Switch-Case-setning

Sveip for å vise menyen

Håndtering av flere ulike betingelser

Når vi har mange betingelser å sjekke, er det ikke alltid praktisk å bruke flere if-else kjeder.

For eksempel:

Main.java

Main.java

12345678910111213141516171819
package com.example; public class Main { public static void main(String[] args) { // You can change the value of the variable `a` to test the `if` statement int a = 30; if (a == 10) { System.out.println(10); } else if (a == 20) { System.out.println(20); } else if (a == 30) { System.out.println(30); } else if (a == 40) { System.out.println(40); } else { System.out.println(a); } } }

Vi kan se at dette ikke virker ryddig og profesjonelt. For slike tilfeller tilbyr Java switch-case-setningen.

switch-case-setning

switch-case-setningen består av flere deler:

Main.java

Main.java

123456789
switch (expression) { case value_1: // Code to be executed if expression matches `value_1` break; // Break is used to exit the `switch` statement. case value_2: // Code to be executed if expression matches `value_2` break; // Break is used to exit the `switch` statement. ............ default: // Code to be executed if no cases match // Optional, but executed if no other case matches }

I koden ovenfor kan du se at vi bruker switch-blokker for selektiv utførelse av operasjoner. Vi baserer oss på uttrykket, som er litt annerledes enn en betingelse. Her setter vi inn en verdi eller et uttrykk. For eksempel, 10 / 2. I dette tilfellet vil case-blokken med signaturen case 5 bli utført fordi uttrykket ovenfor er lik 5.

Vi kan også bruke en betingelse her. Da må vi skrive et boolsk uttrykk i uttrykksblokken, og det bør se slik ut: 10 / 2 == 5. Skriv deretter to cases under:

case true:
  
case false:

Men denne strukturen vil være nesten identisk med en vanlig if-else.

Nøkkelordet "break"

Dette nøkkelordet brukes for å avslutte utførelsen av en switch-case-setning og forlate dens blokk. Dette ordet brukes ofte i løkker, som vi skal diskutere i de neste kapitlene. Bruk dette nøkkelordet når du trenger å bryte ut av en kodeblokk og stoppe dens utførelse.

La oss nå forbedre koden vi skrev ovenfor ved å bruke switch-case-setningen:

Main.java

Main.java

123456789101112131415161718192021222324
package com.example; public class Main { public static void main(String[] args) { // You can change the value of the variable `a` to test the `switch` statement int a = 30; switch (a) { case 10: System.out.println(10); break; case 20: System.out.println(20); break; case 30: System.out.println(30); break; case 40: System.out.println(40); break; default: System.out.println("There is no matching value"); } } }

Vi ser at koden har blitt mye ryddigere og enklere å lese og utvide. Vi trenger ikke å skrive en ny if-setning fra bunnen av hvis vi må legge til flere betingelser. I stedet kan vi legge til en ny case-blokk i vår switch-case statement.

La oss se på skjemaet for switch-case-blokken:

Som vi kan se, kan det være så mange case-blokker vi ønsker. Hver case krever sin egen betingelse og kode, som vil bli utført når programmet vårt går inn i case-blokken. Det anbefales å bruke nøkkelordet break fordi programmet ikke vil forlate switch-blokken før alle case-blokkene er utført. Default-blokken vil bli utført hvis vi ikke gikk inn i noen av case-blokkene eller ikke brukte break-nøkkelordet.

Her er et annet eksempel uten break-nøkkelord:

Main.java

Main.java

1234567891011121314151617181920
package com.example; public class Main { public static void main(String[] args) { // You can change the value of the variable `a` to test the `switch` statement int a = 10; switch (a) { case 10: System.out.println(10); case 20: System.out.println(20); case 30: System.out.println(30); case 40: System.out.println(40); default: System.out.println("There is no matching value"); } } }

Vi har mottatt flere verdier som skiller seg fra det vi forventet. I tillegg fikk vi informasjon fra blokkene case 10 og default. Dette er nettopp grunnen til at vi bruker nøkkelordet break etter hver blokk. På denne måten vil programmet avslutte switch-setningen og fortsette utførelsen.

1. Hva vil bli skrevet ut til konsollen?

2. Hvorfor trenger vi break-nøkkelordet?

question mark

Hva vil bli skrevet ut til konsollen?

Velg det helt riktige svaret

question mark

Hvorfor trenger vi break-nøkkelordet?

Velg det helt riktige svaret

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 7

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 2. Kapittel 7
some-alt