Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Ternær Operator | Dyb Java-Struktur
Java Udvidet

Stryg for at vise menuen

book
Ternær Operator

Hvordan kan vi forkorte en if-else-sætning?

if-sætningen ser ikke altid elegant ud, men Java tilbyder en hurtigere og mere bekvem måde at kontrollere betingelser på. Den kaldes ternær operator, og den har følgende syntaks:

condition ? expression_for_true : expression_for_false

Først angiver vi en betingelse, for eksempel 10 > 5, og derefter sætter vi et spørgsmålstegn ? efter den. Hvis betingelsen evalueres til true, går vi til sandt-blokken, for eksempel System.out.println("That's true");. Hvis betingelsen evalueres til false, går vi til falsk-blokken, hvor vi kunne have noget som System.out.println("That's not true");.

Lad os analysere et mere praktisk eksempel:

Main.java

Main.java

copy
12345678
package com.example; public class Main { public static void main(String[] args) { System.out.println(10 > 5 ? "That's true" : "That's false"); System.out.println(5 > 6 ? "That's true" : "That's false"); } }

Du har måske bemærket, at vi brugte det ternære operator inde i System.out.println();-sætningen. Det er hovedformålet med at bruge det ternære operator – du kan anvende det i output-sætninger for markant at reducere mængden af kode.

Vi kan også bruge det ternære operator ved initialisering eller returnering af værdier. Du vil lære mere om returnering af værdier i næste afsnit, når du skal studere metoder.

Eksempel på brug af det ternære operator ved initialisering af en værdi:

Main.java

Main.java

copy
12345678910
package com.example; public class Main { public static void main(String[] args) { final int a = 10 > 2 ? 5 : 2; final int b = 10 < 2 ? 5 : 2; System.out.println("Variable 'a' has value: " + a); System.out.println("Variable 'b' has value: " + b); } }

Nedenfor ses et eksempel på kode, hvor det ternære operator er erstattet med en almindelig if-sætning for at hjælpe dig med bedre at forstå, hvordan det fungerer:

Main.java

Main.java

copy
1234567891011121314151617181920
package com.example; public class Main { public static void main(String[] args) { int a = 0; int b = 0; if (10 > 2) { a = 5; } else { a = 2; } if (10 < 2) { b = 5; } else { b = 2; } System.out.println("Variable 'a' has value: " + a); System.out.println("Variable 'b' has value: " + b); } }

Resultatet er det samme, men du kan se, hvor meget plads vi sparer ved at bruge ternary-operatoren.

Opgave

Swipe to start coding

  1. Skriv en kode, der udskriver "The string contains Florida", hvis strengen indeholder ordet Florida, eller "Florida is not found", hvis den ikke gør.

  2. Brug den ternære operator for at øve dig med den.

Løsning

solution.java

solution.java

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 6
single

single

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

close

Awesome!

Completion rate improved to 2.63

book
Ternær Operator

Hvordan kan vi forkorte en if-else-sætning?

if-sætningen ser ikke altid elegant ud, men Java tilbyder en hurtigere og mere bekvem måde at kontrollere betingelser på. Den kaldes ternær operator, og den har følgende syntaks:

condition ? expression_for_true : expression_for_false

Først angiver vi en betingelse, for eksempel 10 > 5, og derefter sætter vi et spørgsmålstegn ? efter den. Hvis betingelsen evalueres til true, går vi til sandt-blokken, for eksempel System.out.println("That's true");. Hvis betingelsen evalueres til false, går vi til falsk-blokken, hvor vi kunne have noget som System.out.println("That's not true");.

Lad os analysere et mere praktisk eksempel:

Main.java

Main.java

copy
12345678
package com.example; public class Main { public static void main(String[] args) { System.out.println(10 > 5 ? "That's true" : "That's false"); System.out.println(5 > 6 ? "That's true" : "That's false"); } }

Du har måske bemærket, at vi brugte det ternære operator inde i System.out.println();-sætningen. Det er hovedformålet med at bruge det ternære operator – du kan anvende det i output-sætninger for markant at reducere mængden af kode.

Vi kan også bruge det ternære operator ved initialisering eller returnering af værdier. Du vil lære mere om returnering af værdier i næste afsnit, når du skal studere metoder.

Eksempel på brug af det ternære operator ved initialisering af en værdi:

Main.java

Main.java

copy
12345678910
package com.example; public class Main { public static void main(String[] args) { final int a = 10 > 2 ? 5 : 2; final int b = 10 < 2 ? 5 : 2; System.out.println("Variable 'a' has value: " + a); System.out.println("Variable 'b' has value: " + b); } }

Nedenfor ses et eksempel på kode, hvor det ternære operator er erstattet med en almindelig if-sætning for at hjælpe dig med bedre at forstå, hvordan det fungerer:

Main.java

Main.java

copy
1234567891011121314151617181920
package com.example; public class Main { public static void main(String[] args) { int a = 0; int b = 0; if (10 > 2) { a = 5; } else { a = 2; } if (10 < 2) { b = 5; } else { b = 2; } System.out.println("Variable 'a' has value: " + a); System.out.println("Variable 'b' has value: " + b); } }

Resultatet er det samme, men du kan se, hvor meget plads vi sparer ved at bruge ternary-operatoren.

Opgave

Swipe to start coding

  1. Skriv en kode, der udskriver "The string contains Florida", hvis strengen indeholder ordet Florida, eller "Florida is not found", hvis den ikke gør.

  2. Brug den ternære operator for at øve dig med den.

Løsning

solution.java

solution.java

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

close

Awesome!

Completion rate improved to 2.63

Stryg for at vise menuen

some-alt