Menu
Coddy logo textTech

Сокращённые присваивания

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

В Dart сокращения присваивания сочетают арифметические операторы с присваиванием для краткого изменения переменных.

1. Присваивание с прибавлением (+=)

void main() {
  int score = 10;
  score += 5;  // Эквивалентно: score = score + 5;
  print('Score after adding 5: $score');
}

2. Вычитание с присваиванием (-=)

void main() {
  int lives = 3;
  lives -= 1;  // Эквивалентно: lives = lives - 1;
  print('Lives after losing 1: $lives');
}

3. Умножение с присваиванием (*=)

void main() {
  int points = 5;
  points *= 2;  // Эквивалентно: points = points * 2;
  print('Points after doubling: $points');
}

4. Присваивание с делением (/=)

void main() {
  double price = 100.0;
  price /= 2;  // Equivalent to: price = price / 2;
  print('Price after 50% discount: $price');
}
challenge icon

Задание

Легко

Создайте программу, которая отслеживает статистику игрока в игре с использованием составных операторов присваивания:

  1. Объявите целочисленную переменную score с начальным значением 100
  2. Объявите целочисленную переменную bonus с начальным значением 50
  3. Объявите целочисленную переменную multiplier с начальным значением 2
  4. Объявите целочисленную переменную penalty с начальным значением 30
  5. Выведите начальный счет с сообщением: Initial score: 100
  6. Используйте оператор += для добавления бонуса к счету
  7. Выведите счет после добавления бонуса: Score after bonus: 150
  8. Используйте оператор *= для умножения счета на множитель
  9. Выведите счет после применения множителя: Score after multiplier: 300
  10. Используйте оператор -= для вычитания штрафа из счета
  11. Выведите окончательный счет: Final score: 270

Ваш вывод должен точно соответствовать формату, показанному выше.

Шпаргалка

Составные операторы присваивания объединяют арифметические операторы с присваиванием для краткого изменения переменных:

Сложение с присваиванием (+=)

score += 5;  // Equivalent to: score = score + 5;

Вычитание с присваиванием (-=)

lives -= 1;  // Equivalent to: lives = lives - 1;

Умножение с присваиванием (*=)

points *= 2;  // Equivalent to: points = points * 2;

Деление с присваиванием (/=)

price /= 2;  // Equivalent to: price = price / 2;

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

void main() {
  // Объявляйте свои переменные здесь
  int score = ?;
  int bonus = ?;
  int multiplier = ?;
  int penalty = ?;
  
  // Вывод начального счёта
  print("Initial score: $score");
  
  // Добавить бонус с использованием оператора +=
  score ? bonus;
  
  // Вывод счёта после бонуса
  print("Score after bonus: $score");
  
  // Применить множитель с использованием оператора *=
  score ? multiplier;
  
  // Вывод счёта после множителя
  print("Score after multiplier: $score");
  
  // Вычесть штраф с использованием оператора -=
  score ? penalty;
  
  // Вывод финального счёта
  print("Final score: $score");
}
quiz iconПроверьте себя

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

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