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
12345678package 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
12345678910package 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
1234567891011121314151617181920package 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.
Swipe to start coding
-
Skriv en kode, der udskriver
"The string contains Florida"
, hvis strengen indeholder ordet Florida, eller"Florida is not found"
, hvis den ikke gør. -
Brug den ternære operator for at øve dig med den.
Løsning
solution.java
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 2.63
Ternær Operator
Stryg for at vise menuen
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
12345678package 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
12345678910package 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
1234567891011121314151617181920package 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.
Swipe to start coding
-
Skriv en kode, der udskriver
"The string contains Florida"
, hvis strengen indeholder ordet Florida, eller"Florida is not found"
, hvis den ikke gør. -
Brug den ternære operator for at øve dig med den.
Løsning
solution.java
Tak for dine kommentarer!
Awesome!
Completion rate improved to 2.63single