Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Ternär Operator | Djupgående Java-struktur
Java Fördjupad

Svep för att visa menyn

book
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

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 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

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); } }

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

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 är detsamma, men du kan se hur mycket utrymme vi sparar genom att använda ternära operatorn.

Uppgift

Swipe to start coding

  1. 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.

  2. Använd den ternära operatorn för att öva på den.

Lösning

solution.java

solution.java

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 6
single

single

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

close

Awesome!

Completion rate improved to 2.63

book
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

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 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

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); } }

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

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 är detsamma, men du kan se hur mycket utrymme vi sparar genom att använda ternära operatorn.

Uppgift

Swipe to start coding

  1. 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.

  2. Använd den ternära operatorn för att öva på den.

Lösning

solution.java

solution.java

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

close

Awesome!

Completion rate improved to 2.63

Svep för att visa menyn

some-alt