ternary operator java tutorial with examples
Denna handledning förklarar vad som är en ternär operatör i Java, syntax och fördelar med Java ternär operatör med hjälp av olika kodexempel:
I vår tidigare handledning om Java Operator har vi sett olika operatörer som stöds i Java inklusive villkorliga operatörer.
I denna handledning kommer vi att utforska allt om Ternary Operators som är en av de villkorliga operatörerna.
=> Se upp den enkla Java-träningsserien här.
Vad du kommer att lära dig:
Vad är en ternär operatör i Java?
Vi har sett följande villkorliga operatörer som stöds i Java i vår handledning om ”Java-operatörer”.
Operatör | Beskrivning |
---|---|
&& | Villkorligt-OCH |
|| | Villkorligt-ELLER |
?: | Ternary (stenografi för if-then-else uttalande) |
Bland de villkorliga operatörerna som listas ovan beskrivs de två första, dvs. villkorliga-och-villkorliga-ELLER redan i detalj i vår handledning om logiska operatörer.
En annan viktig och vanligt förekommande villkorlig operatör som stöds är ternär operatör ?: ”Som också kallas som stenografi för ett if-then-else-uttalande.
Användning av Java Ternary Operator
Låt oss se denna Java Ternary Operator i detalj.
Syntax:
Ternary operator har följande syntax:
resultValue = testConditionStatement ? value1 : value2;
I ovanstående uttalande,
resultValue | Detta är variabeln som tilldelas värde |
---|---|
testConditionStatement | Det här är testvillkoren som utvärderas som returnerar booleskt värde dvs. sant eller falskt |
värde1 | om testConditionStatement utvärderas som 'true', tilldelas värde1 till resultValue |
värde2 | om testConditionStatement utvärderas som ”falskt” tilldelas value2 till resultValue |
Till exempel, SträngresultatString = (5> 1)? “PASS”: ”FAIL”;
I exemplet ovan utvärderar den ternära operatören testförhållandet (5> 1). Om den returnerar true tilldelar värdet 1 dvs 'PASS' och tilldelar 'FAIL' om det returnerar falskt. Eftersom (5> 1) är sant, resultString värdet tilldelas som 'PASS'.
Denna operatör kallas som Ternär operatör eftersom Ternary Operator använder tre operander först är ett booleskt uttryck som utvärderas till antingen sant eller falskt, andra är resultatet när det booleska uttrycket utvärderas till sant och det tredje är resultatet när det booleska uttrycket utvärderas till falskt.
Fördelar med att använda Java Ternary Operator
Som nämnts kallas den ternära operatören också som stenografi för ett if-then-else-uttalande. Det gör koden mer läsbar.
Låt oss se med hjälp av följande exempelprogram.
Exempel på ternära operatörer
Exempel 1:Användning av Ternary-operatören som ett alternativ till if-else
Här är exempelprogrammet med ett enkelt if-else-villkor:
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 } }
Detta program skriver ut följande utdata:
x är mindre än y
Låt oss nu försöka skriva om samma kod med hjälp av a ternär operatör som följer. I ovanstående program tilldelas resultValue ett värde baserat på utvärderingen av uttrycket (x> = y) i ett enkelt om och annat tillstånd.
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 } }
Observera följande if-else-kodblock i TernaryOperatorDemo1 klass:
c ++ intervju frågor och svar
If(x>=y) { resultValue = 'x is greater than or maybe equal to y'; }else { resultValue = 'x is less than y'; }
Detta har ersatts med följande en rad i TernaryOperatorDemo2 klass:
SträngresultatVärde = (x> = y)? ”X är större än eller kanske lika med y”: ”x är mindre än y”;
Detta program skriver ut exakt samma utdata som TernaryOperatorDemo1 klass:
x är mindre än y
Detta kanske inte verkar som att signifikationen ändras i ett antal kodrader. Men i ett verkligt scenario är villkoret if-else vanligtvis inte så enkelt. Vanligtvis krävs det att uttalandet if-else-if används. I sådana scenarier ger användningen av en ternär operatör en signifikant skillnad i ett antal kodrader.
Exempel 2:Användning av Ternary-operatören som ett alternativ till if-else-if
dvs. ternär operatör med flera förhållanden
Låt oss se hur en ternär operatör kan användas som ett alternativ till stegen om-annars-om.
intervjufrågor och svar på nätutvecklare
Tänk på följande Java-exempelkod:
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 ovanstående exempel används if-else-if-villkoret för att skriva ut en lämplig anmärkning genom att jämföra procentsatsen.
Detta program skriver ut följande utdata:
Ett betyg
Låt oss nu försöka skriva om samma kod med hjälp av a ternär operatör som följer:
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); } }
Observera följande if-else-if kodblock i TernaryOperatorDemo3 klass:
if(percentage>=60){ System.out.println('A grade'); }else if(percentage>=40){ System.out.println('B grade'); }else { System.out.println('Not Eligible'); }
Detta har ersatts med följande en rad i TernaryOperatorDemo4 klass:
SträngresultatVärde = (procent>> 60)? ”A betyg”: ((procent>> 40)? ”B grad”: ”Ej kvalificerad”);
Detta program skriver ut exakt samma utdata som TernaryOperatorDemo3 klass:
Detta program skriver ut följande utdata:
Ett betyg
Exempel 3:Användning av Ternary-operatör som ett alternativ till switch-case
Låt oss nu överväga ytterligare ett scenario med ett switch-case-uttalande.
I följande exempelkod används switch-case-uttalandet för att utvärdera värdet som ska tilldelas strängvariabeln. det vill säga färgvärdet tilldelas baserat på colorCode-heltalsvärde med hjälp av switch-case-uttalandet.
Nedan följer ett exempel på en Java-kod:
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); } }
Detta program skriver ut följande utdata:
Färg -> Grön
Nu ska vi se hur en ternär operatör kan vara till hjälp här för att göra koden enklare. Så låt oss skriva om samma kod med hjälp av a ternär operatör som följer:
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); } }
Observera följande växelkodsblock i TernaryOperatorDemo5 klass:
switch(colorCode) { case 100 : color = 'Yellow'; break; case 101 : color = 'Green'; break; case 102 : color = 'Red'; break; default : color = 'Invalid'; }
Detta har ersatts med följande en rad i TernaryOperatorDemo6 klass:
color = (colorCode == 100)? ”Gul”: ((colorCode == 101)? ”Grön”: ((colorCode == 102)? ”Röd”: ”Ogiltig”));
Detta program skriver ut exakt samma utdata som TernaryOperatorDemo5 :
hur man öppnar jar-filen med java runtime-miljö
Detta program skriver ut följande utdata:
Färg -> Grön
Vanliga frågor
F # 1) Definiera en ternär operatör i Java med ett exempel.
Svar: Java Ternary operator är en villkorlig operatör med följande syntax:
resultValue = testConditionStatement ? value1 : value2;
Här resultValue får tilldelas som värde1 eller värde2 baserat på testConditionStatement utvärderingsvärde som sant respektive falskt.
Till exempel , Strängresultat = (-1> 0)? 'Ja Nej';
resultatet får tilldelat värde som 'ja' om (-1> 0) utvärderar sant och 'nej' om (-1> 0) utvärderas som falskt. I det här fallet är villkoret sant, följaktligen är värdet som tilldelas resultatet 'ja'
F # 2) Hur skriver du ett ternärt tillstånd i Java?
Svar: Som namnet antyder använder Ternary-operatören tre operander enligt följande:
resultValue = testConditionStatement ? value1 : value2;
testConditionStatement är ett testvillkor som returnerar booleskt värde
värde1: värde som ska tilldelas när testConditionStatement returnerar true
värde2: värde som ska tilldelas när testConditionStatement returnerar falskt
Till exempel , Strängresultat = (-2> 2)? 'Ja Nej';
F # 3) Vad är användningen och syntaxen för en ternär operatör?
Svar: Java Ternary-operatören följer följande syntax:
resultValue = testConditionStatement ? value1 : value2;
Den ternära operatören används som stenografi för if-then-else-uttalande
F # 4) Är en ternär operatör snabbare än om?
Svar: Ternary är snabbare än if-else tills det inte krävs några ytterligare beräkningar för att konvertera logiken för att använda ternary. Det förbättrar också kodens läsbarhet.
F # 5) Hur fungerar ternära operatörer?
Svar: Den ternära operatören tar tre operander. Det första argumentet är ett testvillkor som returnerar ett booleskt värde, det andra är värdet som ska tilldelas när det booleska värdet som returneras är sant, det tredje är det värde som ska tilldelas när det booleska värdet som returneras är falskt.
Slutsats
I denna handledning har vi täckt den ternära operatören ?: i detalj.
Vi har sett syntaxen för den ternära operatören och varför det kallas som stenografi för ett if-then-else-uttalande med hjälp av exempelprogram. Vi har också sett hur det kan vara till hjälp att förbättra läsbarheten för koden med hjälp av ett switch-case-uttalande.
Läs också = >> Ternär operatör i C #
=> Besök här för att lära dig Java från grunden.
Rekommenderad läsning
- Jagged Array In Java - Handledning med exempel
- JAVA-handledning för nybörjare: 100+ praktiska Java-videohandledning
- Java Reflection Tutorial med exempel
- Java Array Length Tutorial With Code Exempel
- Java String Tutorial | Java-strängmetoder med exempel
- Vad är Java Vector | Java Vector Class Tutorial med exempel
- Hur man sorterar en matris i Java - Handledning med exempel
- Java 'detta' Nyckelord: Handledning med kodexempel