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

Else If-kæder i Java

Stryg for at vise menuen

Indtil nu fungerer if-else-sætninger godt, når der kun er brug for to udfald. Men i virkelige systemer er beslutninger som regel mere detaljerede end det.

For eksempel kan en kaffebar have forskellige belønningsniveauer afhængigt af, hvor mange varer en kunde bestiller:

  • små bestillinger får ingen ekstra;
  • mellemstore bestillinger får en lille bonus;
  • store bestillinger får en større belønning;
  • meget store bestillinger kan udløse et særligt tilbud.

Her bliver else if-kæder nyttige — de gør det muligt at kontrollere flere betingelser efter hinanden. Programmet gennemgår betingelserne fra top til bund, og så snart det finder en betingelse, der er true, udfører det den blok og ignorerer resten.

Struktur

if (condition1) {
    // runs if condition1 is true
} else if (condition2) {
    // runs if condition2 is true
} else {
    // runs if none are true
}

Kun én blok vil nogensinde blive kørt — den første betingelse, der matcher, vinder.

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 kontrollerer deliveryDistance mod hver betingelse fra top til bund. Da 7 ikke er større end 20 eller 10, men er større end 5, matcher det tredje blok og udskriver "Delivery fee: 2€". else nederst vil kun blive udført, hvis ingen af betingelserne er opfyldt.

Det er meget vigtigt at forstå, at rækkefølgen har betydning. Da Java stopper ved den første true betingelse, skal du strukturere dine tjek fra det mest specifikke til det mest generelle — ellers kan en bredere betingelse utilsigtet fange værdier, der var tiltænkt en mere specifik regel.

Tænk på else if-kæder som en beslutningsstige — programmet bevæger sig trin for trin nedad, indtil det finder det korrekte match.

question mark

Hvad vil dette udskrive?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 5

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Else If-kæder i Java

Indtil nu fungerer if-else-sætninger godt, når der kun er brug for to udfald. Men i virkelige systemer er beslutninger som regel mere detaljerede end det.

For eksempel kan en kaffebar have forskellige belønningsniveauer afhængigt af, hvor mange varer en kunde bestiller:

  • små bestillinger får ingen ekstra;
  • mellemstore bestillinger får en lille bonus;
  • store bestillinger får en større belønning;
  • meget store bestillinger kan udløse et særligt tilbud.

Her bliver else if-kæder nyttige — de gør det muligt at kontrollere flere betingelser efter hinanden. Programmet gennemgår betingelserne fra top til bund, og så snart det finder en betingelse, der er true, udfører det den blok og ignorerer resten.

Struktur

if (condition1) {
    // runs if condition1 is true
} else if (condition2) {
    // runs if condition2 is true
} else {
    // runs if none are true
}

Kun én blok vil nogensinde blive kørt — den første betingelse, der matcher, vinder.

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 kontrollerer deliveryDistance mod hver betingelse fra top til bund. Da 7 ikke er større end 20 eller 10, men er større end 5, matcher det tredje blok og udskriver "Delivery fee: 2€". else nederst vil kun blive udført, hvis ingen af betingelserne er opfyldt.

Det er meget vigtigt at forstå, at rækkefølgen har betydning. Da Java stopper ved den første true betingelse, skal du strukturere dine tjek fra det mest specifikke til det mest generelle — ellers kan en bredere betingelse utilsigtet fange værdier, der var tiltænkt en mere specifik regel.

Tænk på else if-kæder som en beslutningsstige — programmet bevæger sig trin for trin nedad, indtil det finder det korrekte match.

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 5
some-alt