ternary operator java tutorial with examples
Denne vejledning forklarer, hvad der er en ternær operatør i Java, syntaks og fordele ved Java ternær operatør ved hjælp af forskellige kodeeksempler:
I vores tidligere tutorial om Java Operator har vi set forskellige operatører understøttet i Java inklusive betingede operatører.
I denne vejledning vil vi udforske alt om Ternary Operators, som er en af de betingede operatører.
=> Pas på den enkle Java-træningsserie her.
Hvad du lærer:
Hvad er en ternær operatør i Java?
Vi har set følgende betingede operatører understøttet i Java i vores vejledning om 'Java-operatører'.
Operatør | Beskrivelse |
---|---|
&& | Betinget-OG |
|| | Betinget-ELLER |
?: | Ternary (stenografi for if-then-else udsagn) |
Blandt de betingede operatører, der er anført ovenfor, er de to første, dvs. betinget-OG og betinget-ELLER allerede dækket detaljeret i vores vejledning til logiske operatører.
En anden vigtig og almindeligt anvendt betinget operatør understøttet er ternær operatør ' ?: 'Som også kaldes stenografi for en if-then-else-erklæring.
Brug af Java Ternary Operator
Lad os se denne Java Ternary Operator i detaljer.
Syntaks:
Ternær operatør har følgende syntaks:
resultValue = testConditionStatement ? value1 : value2;
I ovenstående erklæring,
resultValue | Dette er den variabel, der tildeles værdi |
---|---|
testConditionStatement | Dette er testbetingelsens udsagn, der evalueres, som returnerer boolsk værdi, dvs. sand eller falsk |
værdi1 | Hvis testConditionStatement evalueres som 'sand', tildeles værdi1 til resultValue |
værdi2 | hvis testConditionStatement evalueres som 'falsk', tildeles værdi2 til resultValue |
For eksempel, String resultString = (5> 1)? 'BESTÅ IKKE-BESTÅ';
I ovenstående eksempel evaluerer den ternære operatør testtilstanden (5> 1). Hvis den returnerer sand, tildeler den værdi1 dvs. 'PASS' og tildeler 'FAIL', hvis den returnerer falsk. Som (5> 1) er sandt, resultString værdi tildeles som “PASS”.
Denne operatør kaldes som Ternær operatør fordi Ternary Operator bruger 3 operander først er et boolsk udtryk, der evalueres til enten sandt eller falsk, andet er resultatet, når det boolske udtryk evalueres til sandt, og det tredje er resultatet, når det boolske udtryk evalueres til falsk.
Fordele ved at bruge Java Ternary Operator
Som nævnt kaldes den ternære operatør også som stenografi for en if-then-else-erklæring. Det gør koden mere læselig.
Lad os se ved hjælp af følgende eksempler på programmer.
Eksempler på ternære operatører
Eksempel 1:Brug af Ternary operator som et alternativ til if-else
Her er prøveprogrammet ved hjælp af en simpel if-else-betingelse:
public class TernaryOperatorDemo1{ public static void main(String() args) { int x = 5; int y = 10; String resultValue = null; if(x>=y) { resultValue = 'x is greater than or maybe equal to y'; }else { resultValue = 'x is less than y'; } System.out.println(resultValue); //o/p is x is less than y } }
Dette program udskriver følgende output:
x er mindre end y
Lad os nu prøve at omskrive den samme kode ved hjælp af a ternær operatør som følger. I ovenstående program tildeles resultValue en værdi baseret på evalueringen af udtrykket (x> = y) i enkel, hvis og ellers betingelse.
public class TernaryOperatorDemo2{ public static void main(String() args) { int x = 5; int y = 10; String resultValue=(x>=y)?'x is greater than or maybe equal to y':'x is less than y'; System.out.println(resultValue); //o/p is x is less than y } }
Bemærk følgende hvis ellers kodeblok i TernaryOperatorDemo1 klasse:
gratis systemrens til Windows 7
If(x>=y) { resultValue = 'x is greater than or maybe equal to y'; }else { resultValue = 'x is less than y'; }
Dette er blevet erstattet med følgende enkelt linje i TernaryOperatorDemo2 klasse:
String resultValue = (x> = y)? ”X er større end eller måske lig med y”: ”x er mindre end y”;
Dette program udskriver nøjagtigt samme output som TernaryOperatorDemo1 klasse:
x er mindre end y
Dette ser muligvis ikke ud til, at signifikationen ændres i et antal kodelinjer. Men i et reelt scenarie er if-else-tilstanden normalt ikke så enkel. Almindeligvis er det nødvendigt at bruge if-else-if-sætningen. I sådanne scenarier giver brugen af en ternær operatør en væsentlig forskel i et antal kodelinjer.
hvad er forskellen mellem c ++ og java
Eksempel 2:Brug af Ternary-operatør som et alternativ til if-else-if
dvs. ternær operatør med flere betingelser
Lad os se, hvordan en ternær operatør kan bruges som et alternativ til stigen hvis-ellers-hvis.
Overvej følgende Java-prøvekode:
public class TernaryOperatorDemo3{ public static void main(String() args) { int percentage=70; if(percentage>=60){ System.out.println('A grade'); }else if(percentage>=40){ System.out.println('B grade'); }else { System.out.println('Not Eligible'); } } }
I ovenstående prøve bruges if-else-if-betingelsen til at udskrive en passende bemærkning ved at sammenligne procentdelen.
Dette program udskriver følgende output:
En karakter
Lad os nu prøve at omskrive den samme kode ved hjælp af a ternær operatør som følger:
public class TernaryOperatorDemo4{ public static void main(String() args) { int percentage=70; String resultValue = (percentage>=60)?'A grade':((percentage>=40)?'B grade':'Not Eligible'); System.out.println(resultValue); } }
Bemærk følgende hvis-ellers-hvis kodeblok i TernaryOperatorDemo3 klasse:
if(percentage>=60){ System.out.println('A grade'); }else if(percentage>=40){ System.out.println('B grade'); }else { System.out.println('Not Eligible'); }
Dette er blevet erstattet med følgende enkelt linje i TernaryOperatorDemo4 klasse:
String resultValue = (percentage> = 60)? ”A grade”: ((percentage> = 40)? ”B grade”: ”Ikke kvalificeret”);
Dette program udskriver nøjagtigt samme output som TernaryOperatorDemo3 klasse:
Dette program udskriver følgende output:
En karakter
Eksempel 3:Brug af Ternary-operatør som et alternativ til switch-case
Lad os nu overveje endnu et scenario med en switch-case-erklæring.
I den følgende eksempelkode bruges switch-case-sætningen til at evaluere den værdi, der skal tildeles strengvariablen. dvs. farveværdi tildeles baseret på colorCode-heltalværdi ved hjælp af switch-case-sætningen.
Nedenfor er en eksempel Java-kode:
public class TernaryOperatorDemo5{ public static void main(String() args) { int colorCode = 101; String color = null; switch(colorCode) { case 100 : color = 'Yellow'; break; case 101 : color = 'Green'; break; case 102 : color = 'Red'; break; default : color = 'Invalid'; } System.out.println('Color --->'+color); } }
Dette program udskriver følgende output:
Farve -> Grøn
Lad os nu se, hvordan en ternær operatør kan være nyttigt her for at gøre koden enklere. Så lad os omskrive den samme kode ved hjælp af en ternær operatør som følger:
public class TernaryOperatorDemo6{ public static void main(String() args) { int colorCode = 101; String color = null; color=(colorCode==100)?'Yellow':((colorCode==101)?'Green':((colorCode==102)?'Red':'Invalid')); System.out.println('Color --->'+color); } }
Bemærk følgende switch-case-kodeblok i TernaryOperatorDemo5 klasse:
switch(colorCode) { case 100 : color = 'Yellow'; break; case 101 : color = 'Green'; break; case 102 : color = 'Red'; break; default : color = 'Invalid'; }
Dette er blevet erstattet med følgende enkelt linje i TernaryOperatorDemo6 klasse:
farve = (colorCode == 100)? ”Gul”: ((colorCode == 101)? ”Grøn”: ((colorCode == 102)? ”Rød”: ”Ugyldig”));
Dette program udskriver nøjagtigt samme output som TernaryOperatorDemo5 :
Dette program udskriver følgende output:
Farve -> Grøn
Ofte stillede spørgsmål
Q # 1) Definer en ternær operator i Java med et eksempel.
Svar: Java Ternary operator er en betinget operator, der har følgende syntaks:
resultValue = testConditionStatement ? value1 : value2;
Her resultValue bliver tildelt som værdi1 eller værdi2 baseret på testConditionStatement evalueringsværdi som henholdsvis sand eller falsk.
For eksempel , Strengresultat = (-1> 0)? 'Ja Nej';
resultatet tildeles værdi som “ja”, hvis (-1> 0) vurderer sandt og 'nej', hvis (-1> 0) vurderes som falsk. I dette tilfælde er betingelsen sand, derfor er den værdi, der tildeles resultatet, 'ja'
Q # 2) Hvordan skriver du en ternær tilstand i Java?
Svar: Som navnet antyder, bruger Ternary-operatøren 3 operander som følger:
resultValue = testConditionStatement ? value1 : value2;
testConditionStatement er en testbetingelse, der returnerer boolsk værdi
værdi1: værdi, der skal tildeles, når testConditionStatement returnerer sand
værdi2: værdi, der skal tildeles, når testConditionStatement returnerer falsk
ækvivalenspartitionering og analyse af grænseværdier
For eksempel , Strengresultat = (-2> 2)? 'Ja Nej';
Spørgsmål nr. 3) Hvad er brugen og syntaksen for en ternær operatør?
Svar: Java Ternary operator følger følgende syntaks:
resultValue = testConditionStatement ? value1 : value2;
Den ternære operatør bruges som stenografi til if-then-else-udsagn
Spørgsmål nr. 4) Er en ternær operatør hurtigere end hvis?
Svar: Ternary er hurtigere end hvis ellers indtil der ikke kræves yderligere beregninger for at konvertere logikken til at bruge ternary. Det forbedrer også læsbarheden af kode.
Spørgsmål nr. 5) Hvordan fungerer ternære operatører?
Svar: Den ternære operatør tager tre operander. Det første argument er en testbetingelse, der returnerer en boolsk værdi, den anden er den værdi, der skal tildeles, når den boolske værdi, der returneres, er sand, den tredje er den værdi, der skal tildeles, når den boolske værdi, der returneres, er falsk.
Konklusion
I denne vejledning har vi dækket den ternære operatør ?: i detaljer.
Vi har set syntaksen for den ternære operatør, og hvorfor det kaldes som stenografi for en if-then-else-sætning ved hjælp af prøveprogrammer. Vi har også set, hvordan det kan være nyttigt at forbedre læsbarheden af koden ved hjælp af en switch-case-erklæring.
Læs også = >> Ternær operatør i C #
=> Besøg her for at lære Java fra bunden.
Anbefalet læsning
- Jagged Array In Java - Vejledning med eksempler
- JAVA-vejledning til begyndere: 100+ praktiske Java-videovejledninger
- Java Reflection Tutorial med eksempler
- Java Array Length Tutorial med kodeeksempler
- Java String Tutorial | Java strengmetoder med eksempler
- Hvad er Java Vector | Java Vector Class Tutorial med eksempler
- Sådan sorteres en matrix i Java - vejledning med eksempler
- Java 'dette' Nøgleord: Vejledning med kodeeksempler