Menu
Coddy logo textTech

Bedingter Operator

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

Der bedingte 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 Bedingungsoperator (?:) verwendet, um festzustellen, ob ein Spieler in einem Spiel genügend Punkte zum Aufsteigen hat:

  1. Deklariere eine ganzzahlige Variable playerScore mit dem Wert 750
  2. Deklariere eine ganzzahlige Variable levelUpThreshold mit dem Wert 500
  3. Verwende den Bedingungsoperator, um eine Zeichenkettennachricht zu erstellen, die entweder Folgendes ausgibt:
    • "Level up!", wenn die Punktzahl des Spielers größer oder gleich dem Schwellenwert ist
    • "Keep trying!", wenn die Punktzahl des Spielers kleiner als der Schwellenwert ist
  4. Speichere diese Nachricht in einer Zeichenkettenvariable namens message
  5. Gib die Punktzahl des Spielers im folgenden Format aus: Player score: 750
  6. Gib die Nachricht aus
  7. Aktualisiere die Punktzahl des Spielers auf 450
  8. Verwende den Bedingungsoperator erneut, um die Nachricht basierend auf der neuen Punktzahl zu aktualisieren
  9. Gib die aktualisierte Punktzahl des Spielers im folgenden Format aus: Player score: 450
  10. Gib die aktualisierte Nachricht aus

Deine Ausgabe sollte genau dem erwarteten Format entsprechen.

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