Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Else If-kedjor i Java | Operatorer och Villkor
Introduktion till Java

Else If-kedjor i Java

Svep för att visa menyn

Hittills fungerar if-else-satser utmärkt när endast två utfall behövs. Men i verkliga system är besluten oftast mer detaljerade än så.

Till exempel kan ett kafé ha olika belöningsnivåer beroende på hur många varor någon beställer:

  • små beställningar får inget extra;
  • medelstora beställningar får en liten bonus;
  • stora beställningar får en större belöning;
  • mycket stora beställningar kan låsa upp ett specialerbjudande.

Det är här else if-kedjor blir användbara — de gör det möjligt att kontrollera flera villkor efter varandra. Programmet går uppifrån och ner, och så snart det hittar ett villkor som är true, körs det blocket och allt annat ignoreras.

Struktur

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

Endast ett block kommer någonsin att köras — det första villkoret som matchar vinner.

Exempel

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 kontrollerar deliveryDistance mot varje villkor uppifrån och ner. Eftersom 7 inte är större än 20 eller 10, men är större än 5, matchar det tredje blocket och skriver ut "Delivery fee: 2€". else längst ner körs bara om inget av villkoren uppfylls.

En mycket viktig sak att förstå är att ordningen spelar roll. Eftersom Java stannar vid det första true-villkoret, bör du strukturera dina kontroller från det mest specifika till det mest generella — annars kan ett bredare villkor av misstag fånga värden som är avsedda för en mer specifik regel.

Tänk på else if-kedjor som en beslutsstege — programmet klättrar ner steg för steg tills det hittar rätt matchning.

question mark

Vad kommer detta att skriva ut?

Vänligen välj det korrekta svaret

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 5

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 3. Kapitel 5
some-alt