Menu
Coddy logo textTech

Оператор 'switch'

Часть раздела Основы путешествия по Dart на Coddy — урок 36 из 94.

Оператор switch в Dart предлагает более чистую альтернативу множеству операторов if-else при проверке переменной на различные значения.

void main() {
  String grade = 'B';
  
  switch (grade) {
    case 'A':
      print('Excellent performance!');
      break;
    case 'B':
      print('Good performance!');
      break;
    case 'C':
      print('Average performance.');
      break;
    case 'D':
      print('Below average performance.');
      break;
    default:
      print('Invalid grade.');
      break;
  }
}

При запуске выводится: Good performance!

challenge icon

Задание

Легко

Создайте программу, которая определяет оценку студента на основе баллов за экзамен с использованием оператора switch:

  1. Объявите целочисленную переменную с именем examScore со значением 85
  2. Создайте строковую переменную с именем grade для хранения буквенной оценки
  3. Используйте оператор switch со следующими правилами:
    • Если examScore находится между 90 и 100 (включительно), установите grade в "A"
    • Если examScore находится между 80 и 89 (включительно), установите grade в "B"
    • Если examScore находится между 70 и 79 (включительно), установите grade в "C"
    • Если examScore находится между 60 и 69 (включительно), установите grade в "D"
    • Для любого другого балла установите grade в "F"
  4. Выведите результат в этом точном формате: Score: 85, Grade: B

Примечание: Вам потребуется использовать целочисленное деление, чтобы преобразовать балл в диапазон, подходящий для switch.

Шпаргалка

Оператор switch в Dart предоставляет более чистую альтернативу множественным инструкциям if-else при проверке переменной на различные значения.

switch (variable) {
  case 'value1':
    // code to execute
    break;
  case 'value2':
    // code to execute
    break;
  default:
    // code for unmatched cases
    break;
}

Каждый case должен заканчиваться оператором break, чтобы предотвратить fall-through. Case default обрабатывает значения, которые не совпадают ни с одним конкретным case.

String grade = 'B';

switch (grade) {
  case 'A':
    print('Excellent performance!');
    break;
  case 'B':
    print('Good performance!');
    break;
  default:
    print('Invalid grade.');
    break;
}

Попробуйте сами

void main() {
  // Объявите здесь переменную examScore
  int examScore = 85;
  
  // Объявите здесь переменную grade
  String grade;
  
  // Используйте оператор switch для определения оценки

  
  // Выведите результат
  print("Score: $examScore, Grade: $grade");
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы