Switch-setninger i Java
Sveip for å vise menyen
Så langt har if, else og else if vært hovedverktøyene for å håndtere ulike situasjoner. Dette fungerer utmerket for å sjekke betingelser, intervaller eller sammenligninger.
Men noen ganger sammenligner vi ikke intervaller i det hele tatt — vi ønsker bare å sjekke én variabel mot flere eksakte verdier. For eksempel:
- en kunde velger en betalingsmetode;
- en kaffeordre har en spesifikk hentetype;
- et lojalitetsmedlem velger et belønningsnivå.
Det er her switch-setninger blir nyttige — de sammenligner én verdi mot flere eksakte treff på en ryddigere og mer organisert måte.
Struktur
switch (variable) {
case "value1" -> {
// code
}
case "value2" -> {
// code
}
default -> {
// fallback code
}
}
Java sjekker hver case én etter én til den finner et treff.
Eksempel
Main.java
1234567891011121314151617181920212223242526package com.example; public class Main { public static void main(String[] args) { String pickupType = "delivery"; switch (pickupType) { case "pickup": System.out.println("Your coffee will be ready at the counter"); break; case "delivery": System.out.println("Your coffee is on the way"); break; case "dine-in": System.out.println("Enjoy your coffee inside the cafe"); break; default: System.out.println("Unknown order type"); break; } } }
Java sjekker pickupType case for case — "pickup" stemmer ikke, "delivery" gjør det, så den skriver ut "Your coffee is on the way" og break stopper switchen umiddelbart. default-blokken nederst fungerer som en siste else — den kjøres bare hvis ingen av casene stemmer.
Java 14+ — Ny switch-syntaks
I Java 14 og nyere ble det introdusert en ny syntaks med ->-pil:
switch (pickupType) {
case "pickup" -> System.out.println("Your coffee will be ready at the counter");
case "delivery" -> System.out.println("Your coffee is on the way");
case "dine-in" -> System.out.println("Enjoy your coffee inside the cafe");
default -> System.out.println("Unknown order type");
}
Hva som er endret:
- ikke behov for
break; - bruker
->i stedet for:; - hver case er automatisk isolert — ingen risiko for fall-through;
- ryddigere og lettere å lese.
Begge versjonene fungerer likt — den nye syntaksen er bare mer moderne og tryggere.
En god huskeregel:
- Bruk
if/else iffor sammenligninger og intervaller; - Bruk
switchnår du sjekker én verdi mot flere eksakte alternativer;
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Switch-setninger i Java
Så langt har if, else og else if vært hovedverktøyene for å håndtere ulike situasjoner. Dette fungerer utmerket for å sjekke betingelser, intervaller eller sammenligninger.
Men noen ganger sammenligner vi ikke intervaller i det hele tatt — vi ønsker bare å sjekke én variabel mot flere eksakte verdier. For eksempel:
- en kunde velger en betalingsmetode;
- en kaffeordre har en spesifikk hentetype;
- et lojalitetsmedlem velger et belønningsnivå.
Det er her switch-setninger blir nyttige — de sammenligner én verdi mot flere eksakte treff på en ryddigere og mer organisert måte.
Struktur
switch (variable) {
case "value1" -> {
// code
}
case "value2" -> {
// code
}
default -> {
// fallback code
}
}
Java sjekker hver case én etter én til den finner et treff.
Eksempel
Main.java
1234567891011121314151617181920212223242526package com.example; public class Main { public static void main(String[] args) { String pickupType = "delivery"; switch (pickupType) { case "pickup": System.out.println("Your coffee will be ready at the counter"); break; case "delivery": System.out.println("Your coffee is on the way"); break; case "dine-in": System.out.println("Enjoy your coffee inside the cafe"); break; default: System.out.println("Unknown order type"); break; } } }
Java sjekker pickupType case for case — "pickup" stemmer ikke, "delivery" gjør det, så den skriver ut "Your coffee is on the way" og break stopper switchen umiddelbart. default-blokken nederst fungerer som en siste else — den kjøres bare hvis ingen av casene stemmer.
Java 14+ — Ny switch-syntaks
I Java 14 og nyere ble det introdusert en ny syntaks med ->-pil:
switch (pickupType) {
case "pickup" -> System.out.println("Your coffee will be ready at the counter");
case "delivery" -> System.out.println("Your coffee is on the way");
case "dine-in" -> System.out.println("Enjoy your coffee inside the cafe");
default -> System.out.println("Unknown order type");
}
Hva som er endret:
- ikke behov for
break; - bruker
->i stedet for:; - hver case er automatisk isolert — ingen risiko for fall-through;
- ryddigere og lettere å lese.
Begge versjonene fungerer likt — den nye syntaksen er bare mer moderne og tryggere.
En god huskeregel:
- Bruk
if/else iffor sammenligninger og intervaller; - Bruk
switchnår du sjekker én verdi mot flere eksakte alternativer;
Takk for tilbakemeldingene dine!