Java Ternary Operator (mit Beispiel)

In diesem Tutorial lernen Sie anhand von Beispielen den ternären Operator und seine Verwendung in Java kennen.

In Java kann ein ternärer Operator verwendet werden, um in bestimmten Situationen die if… else-Anweisung zu ersetzen. Bevor Sie sich mit dem ternären Operator vertraut machen, sollten Sie Java if… else-Anweisung besuchen.

Ternärer Operator in Java

Ein ternärer Operator wertet die Testbedingung aus und führt einen Codeblock basierend auf dem Ergebnis der Bedingung aus.

Die Syntax lautet:

 condition ? expression1 : expression2;

Hier wird der Zustand ausgewertet und

  • Wenn die Bedingung erfüllt ist true, wird expression1 ausgeführt.
  • Wenn die Bedingung erfüllt ist false, wird expression2 ausgeführt.

Der ternäre Operator akzeptiert 3 Operanden (Bedingung, Ausdruck1 und Ausdruck2). Daher der Name ternärer Operator .

Beispiel: Java Ternary Operator

 import java.util.Scanner; class Main ( public static void main(String() args) ( // take input from users Scanner input = new Scanner(System.in); System.out.println("Enter your marks: "); double marks = input.nextDouble(); // ternary operator checks if // marks is greater than 40 String result = (marks> 40) ? "pass" : "fail"; System.out.println("You " + result + " the exam."); input.close(); ) )

Ausgabe 1

 Geben Sie Ihre Noten ein: 75 Sie bestehen die Prüfung.

Angenommen, der Benutzer gibt 75 ein . Dann ergibt sich die Bedingung marks> 40zu true. Daher wird der erste Ausdrucksdurchlauf dem Ergebnis zugewiesen.

Ausgabe 2

 Geben Sie Ihre Noten ein: 24 Sie haben die Prüfung nicht bestanden.

Angenommen, der Benutzer gibt 24 ein . Dann ergibt sich die Bedingung marks> 40zu false. Daher wird der zweite Ausdruck fail dem Ergebnis zugewiesen.

Wann wird der ternäre Operator verwendet?

In Java kann der ternäre Operator verwendet werden, um bestimmte Arten von if… elseAnweisungen zu ersetzen . Beispielsweise,

Sie können diesen Code ersetzen

 class Main ( public static void main(String() args) ( // create a variable int number = 24; if(number> 0) ( System.out.println("Positive Number"); ) else ( System.out.println("Negative Number"); ) ) )

mit

 class Main ( public static void main(String() args) ( // create a variable int number = 24; String result = (number> 0) ? "Positive Number" : "Negative Number"; System.out.println(result); ) )

Ausgabe

 Positive Zahl

Hier geben beide Programme die gleiche Ausgabe. Die Verwendung des ternären Operators macht unseren Code jedoch lesbarer und sauberer.

Hinweis : Sie sollten den ternären Operator nur verwenden, wenn die resultierende Anweisung kurz ist.

Verschachtelte ternäre Operatoren

Es ist auch möglich, einen ternären Operator innerhalb eines anderen ternären Operators zu verwenden. Es wird in Java als verschachtelter ternärer Operator bezeichnet.

Hier ist ein Programm, um die größte von 3 Zahlen mit dem verschachtelten ternären Operator zu finden.

 class Main ( public static void main(String() args) ( // create a variable int n1 = 2, n2 = 9, n3 = -11; // nested ternary operator // to find the largest number int largest = (n1>= n2) ? ((n1>= n3) ? n1 : n3) : ((n2>= n3) ? n2 : n3); System.out.println("Largest Number: " + largest); ) )

Ausgabe

 Größte Anzahl: 9

Beachten Sie im obigen Beispiel die Verwendung des ternären Operators.

 (n1>= n2) ? ((n1>=n3) ? n1 : n3) : ((n2>= n3) ? n2 : n3);

Hier,

  • (n1> = n2) - erste Testbedingung, die prüft, ob n1 größer als n2 ist
  • (n1> = n3) - zweite Testbedingung, die ausgeführt wird, wenn die erste Bedingung erfüllt isttrue
  • (n2> = n3) - dritte Testbedingung, die ausgeführt wird, wenn die erste Bedingung erfüllt istfalse

Hinweis : Es wird nicht empfohlen, verschachtelte ternäre Operatoren zu verwenden. Dies liegt daran, dass unser Code dadurch komplexer wird.

Interessante Beiträge...