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;  // Эквивалентно: 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. Используйте оператор +=, чтобы прибавить bonus к score
  7. Выведите счет после добавления бонуса: Score after bonus: 150
  8. Используйте оператор *=, чтобы умножить score на multiplier
  9. Выведите счет после применения множителя: Score after multiplier: 300
  10. Используйте оператор -=, чтобы вычесть penalty из score
  11. Выведите итоговый счет: Final score: 270

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

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

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

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

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

Потренируйтесь самостоятельно: Онлайн-компилятор Dart