Syntaxis:
variabele = Voorwaardelijke uitdrukking ? Stelling 1: Stelling 2Hier, als de voorwaardelijke instructie true retourneert, zal deze de instructie uitvoeren die is gedefinieerd aan de linkerkant van de ':', en als deze false retourneert, dan zal het de instructie uitvoeren die is gedefinieerd aan de rechterkant van de ':'.
Voorbeeld-1: Gebruik van de ternaire operator met een enkele voorwaarde
Het volgende voorbeeld toont het zeer eenvoudige gebruik van een ternaire operator die kan worden gebruikt bij de vervanging van de 'if-else'-instructie. Een geheel getal wordt als invoer genomen en de ternaire operator wordt gebruikt om te controleren of de waarde groter is dan of gelijk is aan 80 of niet. Als de ternaire voorwaarde waar retourneert, wordt het cijfer geretourneerd; anders zal het berekenen hoeveel punten er nodig zijn om 80 te krijgen en terug te keren naar de bericht variabele die later wordt afgedrukt.
// Scannerpakket importerenjava importeren.gebruik.Scanner;
openbare klasse ternair1
public static void main(String[] args)
// Maak een Scanner-object
Scanner in = nieuwe scanner (Systeem.in);
Systeem.uit.print("Vul uw cijfers in: ");
// Neem markeringen van de gebruiker over
int-tekens = in.volgendeInt();
// Bewaar de tekenreekswaarde op basis van een invoerwaarde
String bericht = (markeringen >= 80) ? "Je cijfer is A+" : "Je hebt nodig" + (80-punten) +
"om A+ te krijgen";
Systeem.uit.println(bericht);
//Sluit het scannerobject
in.dichtbij();
Uitgang:
Na het uitvoeren van de code wordt 85 als invoer genomen die meer is dan 80. Dus de cijferwaarde wordt hier afgedrukt.
Wanneer 75 als invoer wordt genomen, is de ternaire voorwaarde onwaar geretourneerd en wordt berekend hoeveel tekens er nodig zijn om A+ te krijgen en afgedrukt.
Voorbeeld-2: Gebruik van de ternaire operator met meerdere voorwaarden
Het volgende voorbeeld toont het gebruik van een ternaire operator met twee voorwaarden, en als beide voorwaarden true retourneren, wordt een bepaalde tekst geretourneerd; anders zal het een andere tekst terugsturen naar val variabele die later wordt afgedrukt.
openbare klasse ternair2public static void main(String[] args)
//Wijs een tekenreekswaarde toe
Stringnaam = "Abrar Fahad";
//Wijs een numerieke waarde toe
int-id = 22;
/* Bewaar de tekenreekswaarde op basis van
* de retourwaarde van de voorwaarde
*/
Tekenreeks val = (naam.is gelijk aan ("Abrar Fahad") && id == 22) ?
"U bent geselecteerd" : "U bent niet geselecteerd";
// Druk de variabele af
Systeem.uit.println(val);
Uitgang:
Volgens de code wordt de ternaire voorwaarde true geretourneerd en verschijnt de volgende uitvoer na het uitvoeren van de code:.
Voorbeeld-3: Gebruik van de ternaire operator om de maximale waarde te vinden
Het vinden van de maximale waarde tussen twee getallen met behulp van de ternaire operator wordt weergegeven in het volgende voorbeeld:. Er worden twee gehele waarden van de gebruikers genomen en vergeleken in de ternaire toestand om de maximale waarde te achterhalen. Vervolgens wordt de maximale waarde afgedrukt met de opgemaakte tekst.
// Scannerpakket importerenjava importeren.gebruik.Scanner;
openbare klasse ternair3
public static void main(String[] args)
// Maak een Scanner-object
Scanner in = nieuwe scanner (Systeem.in);
Systeem.uit.print("Vul een getal in: ");
// Neem het eerste cijfer
int aantal1 = in.volgendeInt();
Systeem.uit.print("Vul een getal in: ");
// Neem het tweede nummer
int num2 = in.volgendeInt();
// Bewaar maximale waarde
int max_val = (num1 > num2) ? num1 : num2;
// Maximale waarde afdrukken
Systeem.uit.println("Het maximum aantal is: " + max_val);
//Sluit het scannerobject
in.dichtbij();
Uitgang:
23 en 79 worden als invoer genomen na het uitvoeren van de code, en de maximale waarde wordt afgedrukt.
Voorbeeld-4: Gebruik van de geneste ternaire operator
Geneste ternaire operator kan worden gebruikt als alternatief voor 'als-anders-als' uitspraak. Het gebruik van de geneste ternaire operator wordt getoond in het volgende voorbeeld:. Hier wordt een geheel getal als invoer genomen en opgeslagen in de merken variabele. De waarde van merken wordt gecontroleerd in de eerste ternaire voorwaarde, en als het false retourneert, wordt gecontroleerd in de tweede ternaire voorwaarde, enzovoort. Als alle ternaire voorwaarden false retourneren, wordt de laatste tekst van de ternaire instructie geretourneerd. De rang variabele wordt gebruikt om de geretourneerde waarde van de ternaire expressie op te slaan die later als uitvoer wordt afgedrukt.
// Scannerpakket importerenjava importeren.gebruik.Scanner;
openbare klas ternair4
public static void main(String[] args)
// Maak een Scanner-object
Scanner in = nieuwe scanner (Systeem.in);
Systeem.uit.print("Vul uw cijfers in: ");
// Neem de markeringen van de gebruiker over
int-tekens = in.volgendeInt();
// Bewaar de tekenreekswaarde op basis van de invoerwaarde
String cijfer = (cijfers >= 90) ? "Je cijfer is A+" :
(cijfers >= 80) ? "Je cijfer is B+" :
(cijfers >= 70) ? "Je cijfer is C+" :
(cijfers >= 75) ? "Je cijfer is D":"Je hebt gefaald";
Systeem.uit.println(cijfer);
//Sluit het scannerobject
in.dichtbij();
Uitgang:
76 wordt als invoer genomen na het uitvoeren van de code, en de derde voorwaarde van de ternaire operator werd waar op basis van de invoerwaarde, en de bijbehorende tekst wordt afgedrukt.
Vervolgens wordt 60 als invoer genomen en worden alle ternaire voorwaarden false geretourneerd. Dus de laatste tekst van de ternaire uitdrukking wordt afgedrukt.
Conclusie:
Het gebruik van een ternaire operator in plaats van 'if-else' en 'if-else-if' maakt de code in veel gevallen kort en efficiënt. Het is dus beter om het te gebruiken om eenvoudige problemen op te lossen. De verschillende toepassingen van ternaire expressie worden in deze tutorial uitgelegd aan de hand van eenvoudige voorbeelden. Ik hoop dat het concept van de ternaire operator en hoe deze in Java-code kan worden gebruikt, zal worden gewist na het lezen van deze tutorial.