Menu
Coddy logo textTech

Operator warunkowy

Część sekcji Podstawy ścieżki Dart w Coddy. Lekcja 30 z 94.

Operator warunkowy (?:) umożliwia zwięzły zapis instrukcji if-else w jednej linii:

condition ? expressionIfTrue : expressionIfFalse

Przykład:

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

Wynik: Adult

Działa z różnymi typami danych i idealnie nadaje się do prostych przypisań warunkowych.

challenge icon

Wyzwanie

Łatwy

Utwórz program, który używa operatora warunkowego (?:), aby określić, czy gracz ma wystarczająco dużo punktów, by awansować na kolejny poziom w grze:

  1. Zadeklaruj zmienną całkowitą playerScore o wartości 750
  2. Zadeklaruj zmienną całkowitą levelUpThreshold o wartości 500
  3. Użyj operatora warunkowego, aby utworzyć komunikat w postaci ciągu znaków, który będzie zawierał:
    • "Level up!", jeśli wynik gracza jest większy lub równy progowi
    • "Keep trying!", jeśli wynik gracza jest mniejszy od progu
  4. Zapisz ten komunikat w zmiennej tekstowej o nazwie message
  5. Wyświetl wynik gracza w formacie: Player score: 750
  6. Wyświetl komunikat
  7. Zaktualizuj wynik gracza, ustawiając go na 450
  8. Ponownie użyj operatora warunkowego, aby zaktualizować komunikat na podstawie nowego wyniku
  9. Wyświetl zaktualizowany wynik gracza w formacie: Player score: 450
  10. Wyświetl zaktualizowany komunikat

Wynik powinien dokładnie odpowiadać oczekiwanemu formatowi.

Spróbuj swoich sił

void main() {
  // Zadeklaruj tutaj zmienne
  // Zastąp każde zero wartością wymaganą w zadaniu
  int playerScore = 0;
  int levelUpThreshold = 0;

  // Użyj operatora warunkowego, aby utworzyć pierwszy komunikat
  // Zastąp dwa puste teksty komunikatami wymaganymi w zadaniu
  String message = playerScore >= levelUpThreshold ? "" : "";

  // Wyświetl wynik gracza i komunikat
  print("Player score: $playerScore");
  print(message);

  // Zaktualizuj wynik gracza
  // Zastąp zero zaktualizowanym wynikiem wymaganym w zadaniu
  playerScore = 0;

  // Użyj operatora warunkowego, aby zaktualizować komunikat
  message = playerScore >= levelUpThreshold ? "" : "";

  // Wyświetl zaktualizowany wynik gracza i komunikat
  print("Player score: $playerScore");
  print(message);
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Dart online