Ternary Operator
Teil des Abschnitts Grundlagen der Java-Journey von Coddy — Lektion 30 von 73.
Der ternäre Operator ist eine einfache einzeilige if-else-Anweisung. Er hat die folgende Syntax:
variable = (condition) ? value_if_true : value_if_false;Der ternäre Operator bewertet die Bedingung. Wenn es true ist, weist es value_if_true der Variable zu; andernfalls weist es value_if_false zu.
Zum Beispiel:
int age = 20;
String message = (age >= 18) ? "Adult" : "Minor";In diesem Beispiel, da age größer als oder gleich 18 ist, wird message der Wert "Adult" zugewiesen. Wenn age kleiner als 18 wäre, würde message "Minor" zugewiesen werden.
Sie können ternäre Operatoren verschachteln, um mehrere Bedingungen zu handhaben:
int score = 75;
String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";Dies prüft mehrere Bedingungen nacheinander. Wenn score >= 90, ist grade „A“; andernfalls wenn score >= 80, ist grade „B“; andernfalls wenn score >= 70, ist grade „C“; sonst „F“.
Hinweis: Verschachtelte ternäre Operatoren können schwer lesbar sein. Für komplexe Bedingungen verwenden Sie stattdessen if-else-Anweisungen.
Aufgabe
AnfängerErstellen Sie ein Programm, das überprüft, ob eine Zahl positiv, negativ oder null ist, unter Verwendung des ternären Operators. Das Programm sollte:
- Nehmen Sie eine Ganzzahl-Eingabe vom Benutzer entgegen.
- Verwenden Sie den ternären Operator, um zu bestimmen, ob die Zahl positiv, negativ oder null ist.
- Geben Sie das Ergebnis im Format aus:
"The number is [positive/negative/zero]".
Spickzettel
Der ternäre Operator ist eine einzeilige if-else-Anweisung mit der Syntax:
variable = (condition) ? value_if_true : value_if_false;Es bewertet die Bedingung und weist value_if_true zu, wenn die Bedingung true ist, andernfalls weist es value_if_false zu.
Beispiel:
int age = 20;
String message = (age >= 18) ? "Adult" : "Minor";Verschachtelte ternäre Operatoren zum Behandeln mehrerer Bedingungen:
int score = 75;
String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";Dies überprüft mehrere Bedingungen in Reihenfolge. Wenn score >= 90, ist grade "A"; sonst wenn score >= 80, ist grade "B"; sonst wenn score >= 70, ist grade "C"; andernfalls "F".
Hinweis: Verschachtelte ternäre Operatoren können schwer lesbar sein. Für komplexe Bedingungen verwenden Sie stattdessen if-else-Anweisungen.
Probier es selbst
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number = scanner.nextInt();
String result = "";
// Schreibe deinen Code unten
System.out.println("The number is " + result);
scanner.close();
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 43Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - Else