Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Else If-kjeder i Java | Operatorer og Betingelser
Introduksjon til Java

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

Main.java

123456789101112131415161718
package 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.

question mark

Hva vil dette skrive ut?

Velg det helt riktige svaret

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 5

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

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

Main.java

123456789101112131415161718
package 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.

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 5
some-alt