Menu
Coddy logo textTech

Bedingter Operator

Teil des Abschnitts Grundlagen der Dart-Journey von Coddy. Lektion 30 von 94.

Der conditional operator (?:) bietet eine prägnante Möglichkeit, if-else-Anweisungen in einer Zeile zu schreiben:

condition ? expressionIfTrue : expressionIfFalse

Beispiel:

void main() {
  int age = 20;
  String status = age >= 18 ? 'Adult' : 'Minor';
  
  print(status);
}

Ausgabe: Adult

Es funktioniert mit verschiedenen Datentypen und ist ideal für einfache bedingte Zuweisungen.

challenge icon

Aufgabe

Einfach

Erstelle ein Programm, das den Ternären Operator (?:) verwendet, um zu bestimmen, ob ein Spieler genügend Punkte hat, um in einem Spiel ein Level aufzusteigen:

  1. Deklariere eine Integer-Variable playerScore mit dem Wert 750
  2. Deklariere eine Integer-Variable levelUpThreshold mit dem Wert 500
  3. Verwende den Ternären Operator, um eine String-Nachricht zu erstellen, die entweder wie folgt lautet:
    • "Level up!", wenn der Punktestand des Spielers größer oder gleich dem Schwellenwert ist
    • "Keep trying!", wenn der Punktestand des Spielers kleiner als der Schwellenwert ist
  4. Speichere diese Nachricht in einer String-Variablen namens message
  5. Gib den Punktestand des Spielers im folgenden Format aus: Player score: 750
  6. Gib die Nachricht aus
  7. Aktualisiere den Punktestand des Spielers auf 450
  8. Verwende den Ternären Operator erneut, um die Nachricht basierend auf dem neuen Punktestand zu aktualisieren
  9. Gib den aktualisierten Punktestand des Spielers im folgenden Format aus: Player score: 450
  10. Gib die aktualisierte Nachricht aus

Deine Ausgabe sollte exakt mit dem erwarteten Format übereinstimmen.

Probier es selbst

void main() {
  // Deklariere deine Variablen hier
  // Ersetze jede Null durch den Wert, den die Aufgabe verlangt
  int playerScore = 0;
  int levelUpThreshold = 0;

  // Verwende den bedingten Operator, um die erste Nachricht zu erstellen
  // Ersetze die beiden leeren Texte durch die Nachrichten, die die Aufgabe verlangt
  String message = playerScore >= levelUpThreshold ? "" : "";

  // Gib den Spielerpunktestand und die Nachricht aus
  print("Player score: $playerScore");
  print(message);

  // Aktualisiere den Spielerpunktestand
  // Ersetze die Null durch den aktualisierten Punktestand, den die Aufgabe verlangt
  playerScore = 0;

  // Verwende den bedingten Operator, um die Nachricht zu aktualisieren
  message = playerScore >= levelUpThreshold ? "" : "";

  // Gib den aktualisierten Spielerpunktestand und die Nachricht aus
  print("Player score: $playerScore");
  print(message);
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Online-Dart-Compiler