Ternär Operator
Hur kan vi förkorta en if-else-sats?
if
-satsen ser inte alltid elegant ut, men Java erbjuder ett snabbare och mer bekvämt sätt att kontrollera villkor. Det kallas ternär operator och har följande syntax:
condition ? expression_for_true : expression_for_false
Först anger vi ett villkor, till exempel 10 > 5
, och sedan sätter vi ett frågetecken ?
efter det. Om villkoret utvärderas till true
går vi till sant-blocket, till exempel System.out.println("That's true");
. Om villkoret utvärderas till false
går vi till falskt-blocket, där vi kan ha något som System.out.println("That's not true");
.
Låt oss analysera ett mer praktiskt exempel:
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 kanske har lagt märke till att vi använde den ternära operatorn inuti System.out.println();
-satsen. Det är huvudsyftet med att använda den ternära operatorn – du kan använda den i utskriftssatser för att avsevärt minska mängden kod.
Vi kan också använda den ternära operatorn vid initiering eller returnering av värden. Du kommer att lära dig mer om att returnera värden i nästa avsnitt när du studerar metoder.
Exempel på användning av ternär operator vid initiering av värde:
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); } }
Nedan finns ett exempel på kod där den ternära operatorn har ersatts med en vanlig if
-sats för att hjälpa dig att bättre förstå hur den fungerar:
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 är detsamma, men du kan se hur mycket utrymme vi sparar genom att använda ternära operatorn.
Swipe to start coding
-
Skriv en kod som skriver ut
"The string contains Florida"
om strängen innehåller ordet Florida, eller"Florida is not found"
om den inte gör det. -
Använd den ternära operatorn för att öva på den.
Lösning
solution.java
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 2.63
Ternär Operator
Svep för att visa menyn
Hur kan vi förkorta en if-else-sats?
if
-satsen ser inte alltid elegant ut, men Java erbjuder ett snabbare och mer bekvämt sätt att kontrollera villkor. Det kallas ternär operator och har följande syntax:
condition ? expression_for_true : expression_for_false
Först anger vi ett villkor, till exempel 10 > 5
, och sedan sätter vi ett frågetecken ?
efter det. Om villkoret utvärderas till true
går vi till sant-blocket, till exempel System.out.println("That's true");
. Om villkoret utvärderas till false
går vi till falskt-blocket, där vi kan ha något som System.out.println("That's not true");
.
Låt oss analysera ett mer praktiskt exempel:
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 kanske har lagt märke till att vi använde den ternära operatorn inuti System.out.println();
-satsen. Det är huvudsyftet med att använda den ternära operatorn – du kan använda den i utskriftssatser för att avsevärt minska mängden kod.
Vi kan också använda den ternära operatorn vid initiering eller returnering av värden. Du kommer att lära dig mer om att returnera värden i nästa avsnitt när du studerar metoder.
Exempel på användning av ternär operator vid initiering av värde:
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); } }
Nedan finns ett exempel på kod där den ternära operatorn har ersatts med en vanlig if
-sats för att hjälpa dig att bättre förstå hur den fungerar:
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 är detsamma, men du kan se hur mycket utrymme vi sparar genom att använda ternära operatorn.
Swipe to start coding
-
Skriv en kod som skriver ut
"The string contains Florida"
om strängen innehåller ordet Florida, eller"Florida is not found"
om den inte gör det. -
Använd den ternära operatorn för att öva på den.
Lösning
solution.java
Tack för dina kommentarer!
Awesome!
Completion rate improved to 2.63single