Else If-kjeder i Java
Sveip for å vise menyen
Så langt fungerer if-else-setninger godt når det kun er behov for to utfall. Men i virkelige systemer er avgjørelser som regel mer detaljerte enn det.
For eksempel kan en kaffebar ha ulike belønningsnivåer avhengig av hvor mange varer noen bestiller:
- små bestillinger får ingen ekstra;
- mellomstore bestillinger får en liten bonus;
- store bestillinger får en større belønning;
- svært store bestillinger kan gi tilgang til et spesialtilbud.
Dette er hvor else if-kjeder blir nyttige — de lar oss sjekke flere betingelser etter hverandre. Programmet går fra topp til bunn, og så snart det finner en betingelse som er true, kjører det den blokken og ignorerer alt annet.
Struktur
if (condition1) {
// runs if condition1 is true
} else if (condition2) {
// runs if condition2 is true
} else {
// runs if none are true
}
Kun én blokk vil noen gang kjøres — den første betingelsen som matcher vinner.
Eksempel
Main.java
123456789101112131415161718package com.example; public class Main { public static void main(String[] args) { int deliveryDistance = 7; if (deliveryDistance > 20) { System.out.println("Delivery fee: 10€"); } else if (deliveryDistance > 10) { System.out.println("Delivery fee: 5€"); } else if (deliveryDistance > 5) { System.out.println("Delivery fee: 2€"); } else { System.out.println("Free delivery"); } } }
Du sjekker deliveryDistance mot hver betingelse fra toppen og nedover. Siden 7 ikke er større enn 20 eller 10, men er større enn 5, matcher det tredje blokket og skriver ut "Delivery fee: 2€". else nederst kjøres bare hvis ingen av betingelsene er oppfylt.
En veldig viktig ting å forstå er at rekkefølgen har betydning. Siden Java stopper ved den første true-betingelsen, bør du strukturere sjekkene fra den mest strenge til den mest generelle — ellers kan en bredere betingelse utilsiktet fange verdier som er ment for en mer spesifikk regel.
Tenk på else if-kjeder som en beslutningsstige — programmet klatrer ned trinn for trinn til det finner riktig treff.
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
Else If-kjeder i Java
Så langt fungerer if-else-setninger godt når det kun er behov for to utfall. Men i virkelige systemer er avgjørelser som regel mer detaljerte enn det.
For eksempel kan en kaffebar ha ulike belønningsnivåer avhengig av hvor mange varer noen bestiller:
- små bestillinger får ingen ekstra;
- mellomstore bestillinger får en liten bonus;
- store bestillinger får en større belønning;
- svært store bestillinger kan gi tilgang til et spesialtilbud.
Dette er hvor else if-kjeder blir nyttige — de lar oss sjekke flere betingelser etter hverandre. Programmet går fra topp til bunn, og så snart det finner en betingelse som er true, kjører det den blokken og ignorerer alt annet.
Struktur
if (condition1) {
// runs if condition1 is true
} else if (condition2) {
// runs if condition2 is true
} else {
// runs if none are true
}
Kun én blokk vil noen gang kjøres — den første betingelsen som matcher vinner.
Eksempel
Main.java
123456789101112131415161718package com.example; public class Main { public static void main(String[] args) { int deliveryDistance = 7; if (deliveryDistance > 20) { System.out.println("Delivery fee: 10€"); } else if (deliveryDistance > 10) { System.out.println("Delivery fee: 5€"); } else if (deliveryDistance > 5) { System.out.println("Delivery fee: 2€"); } else { System.out.println("Free delivery"); } } }
Du sjekker deliveryDistance mot hver betingelse fra toppen og nedover. Siden 7 ikke er større enn 20 eller 10, men er større enn 5, matcher det tredje blokket og skriver ut "Delivery fee: 2€". else nederst kjøres bare hvis ingen av betingelsene er oppfylt.
En veldig viktig ting å forstå er at rekkefølgen har betydning. Siden Java stopper ved den første true-betingelsen, bør du strukturere sjekkene fra den mest strenge til den mest generelle — ellers kan en bredere betingelse utilsiktet fange verdier som er ment for en mer spesifikk regel.
Tenk på else if-kjeder som en beslutningsstige — programmet klatrer ned trinn for trinn til det finner riktig treff.
Takk for tilbakemeldingene dine!