Урок 1.4 Операторы

Урок 1.4 Операторы

Операторы - это символы, которые заставляют ваш код работать.

Вы будете использовать их для выполнения таких действий, как проверка, изменение или объединение значений. Существуют операторы для работы с числами и сравнения их, операторы для проверки истинных (true) и ложных (false) значений, операторы, которые помогают упростить условные назначения, и многое другое.

В этом уроке вы узнаете о некоторых операторах языка Swift, включая базовые математические операторы для сложения (+), вычитания (), умножения (*) и деления (/).


Чему Вы Научитесь

  • Как выполнять основные математические операции
  • Как сложить два числа разных типов вместе
  • Как найти остаток от операции деления

Терминология


Связанные ресурсы

Руководство по языку программирования Swift: Базовые операторы

В программировании оператор заставляет ваш код работать, выполняя действие со значениями слева и справа от него. Когда вы читаете код и видите незнакомый символ, скорее всего, это оператор.

В этом уроке рассматриваются наиболее распространенные операторы.

Присвоение значения

Используйте оператор = для присвоения значения. Имени слева присваивается значение справа.
Этот код объявляет, что “Люк” - ваш любимый человек:

 

let favoritePerson = “Luke”

 

Оператор = также используется для изменения или переназначения значения.

Следующий код объявляет переменную shoeSize и присваивает ей значение 8. Затем это значение изменяется на 9:

 

var shoeSize = 8
shoeSize = 9 // Переназначает размер обуви на 9

 

Базовая арифметика

Вы можете использовать операторы +, -, * и / для выполнения основных математических операций.

 

var opponentScore = 3 * 8
 //  счёт соперника имеет значение 24
var myScore = 100 / 4
 // мой счёт имеет значение 25

 

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

 

var totalScore = opponentScore + myScore // общий балл имеет значение 49

 

Оператор может даже ссылаться на текущую переменную, обновляя ее до нового значения:

 

myScore = myScore + 3 // Обновляет мой счет до текущего значения плюс 3

 

Для точности с десятичной запятой вы можете выполнить те же операции со значениями Double:

 

let totalDistance = 3.9
var distanceTraveled = 1.2
var remainingDistance = totalDistance - distanceTraveled // оставшееся расстояние имеет значение 2,7

 

Когда вы используете оператор деления (/) для значений Int, результатом будет значение Int, округленное до ближайшего целого числа, поскольку тип Int поддерживает целые числа:

 

let x = 51
let y = 4
let z = x / y // z присвоено значение 12
 

Если вы явно объявите константы или переменные как значения Double, результаты будут включать десятичные значения.

 
let x: Double = 51
let y: Double = 4
let z = x / y // z присвоено значение 12.75

 

Обязательно используйте значения Double всякий раз, когда ваш код требует точности с десятичной запятой.

Составное присваивание

Более ранний фрагмент кода обновил переменную, добавив к ней число:

 

var myScore = 10 
myScore = myScore + 3 // Обновляет MyScore до текущего значения плюс 3

 

Но есть лучший способ изменить значение, которое уже было присвоено. Вы можете использовать составной оператор присваивания, который добавляет оператор = после арифметического оператора.

 

myScore += 3 // Прибавляет 3 к MyScore
myScore -= 5 // Вычитает 5 из MyScore
myScore *= 2 // Умножает MyScore на 2
myScore /= 2 // Делит MyScore на 2

 

Составные операторы присваивания помогают вам писать более чистый и лаконичный код.

Оператор остатка от деления

Используйте оператор остатка от деления (%), чтобы быстро вычислить остаток от деления двух значений Int.

 

let dividend = 10
let divisor = 3
let quotient = dividend / divisor  // частное имеет значение 3
let remainder = dividend % divisor // остаток имеет значение 1

 

Вы можете вычислить остаток как dividend - (quotient * divisor), но оператор остатка проще, быстрее, чище и лаконичнее.

Порядок операций

Математические операции всегда выполняются в определенном порядке. Умножение и деление имеют приоритет над сложением и вычитанием, а круглые скобки имеют приоритет над всеми четырьмя.

Рассмотрим следующие переменные.

 

var x = 2
var y = 3
var z = 5

 

Затем рассмотрим следующие расчеты:

 

x + y * z // Равно 17
(x + y) * z // Равно 25

 

В первой строке выше умножение имеет приоритет над сложением. Во второй строке скобки выполняют свою работу первыми.

Оператор остатка имеет тот же приоритет, что и умножение и деление:

 

y + z % x // Равно 4
(y + z) % x // Равно 0

 

Преобразование числового типа

Как вы уже поняли, вы не можете смешивать и сопоставлять типы чисел при выполнении математических операций.

Например, следующее приведет к ошибке компилятора, поскольку x - это значение Int, а y - значение Double:

 

let x = 3
let y = 0.1415927
let pi = x + y

 

Чтобы код мог завершиться, вы можете создать новое значение Double из x, добавив префикс типа, в который вы хотите его преобразовать:

 

let x = 3
let y = 0.1415927
let pi = Double(x) + y

 

В пересмотренном коде Double(x) создает новое значение Double из значения Int x, позволяя компилятору добавлять его к y и присваивать результат pi.

Лабораторная работа

Откройте и завершите упражнения в Lab—Operators.playground.

Подключение к дизайну

В Рабочей тетради по разработке приложений подумайте о типах вычислений, которые могут быть связаны с проблемой, с которой сталкиваются ваши пользователи. Какие математические вычисления может потребоваться выполнить вашему приложению? Нужно ли пользователю знать общее, процентное или другое вычисленное значение? Даже если у вас еще нет полного плана, добавьте свои идеи в комментарии к разделам Определения, которые вы завершили, или в новый пустой слайд в конце документа.

В примере приложения Go Green для рабочей книги пользователь может захотеть узнать процент переработки в общем объеме мусора, который может быть рассчитан приложением с помощью таких операций, как деление и сложение.

 

 


Отрывок из книги
Develop in Swift Fundamentals
Apple Education
https://books.apple.com/ru/book/develop-in-swift-fundamentals/id1581182804

Information

Apple, the Apple logo, Apple Books, Apple TV, Apple Watch, Cocoa, Cocoa Touch, Finder, Handoff, HealthKit, iPad, iPad Pro, iPhone, iPod touch, Keynote, Mac, macOS, Numbers, Objective-C, Pages, Photo Booth, Safari, Siri, Spotlight, Swift, tvOS, watchOS, and Xcode are trademarks of Apple Inc., registered in the U.S. and other countries. App Store and iBooks Store are service marks of Apple Inc., registered in the U.S. and other countries. ​
The Bluetooth® word mark and logos are registered trademarks owned by Bluetooth SIG, Inc. and any use of such marks by Apple is under license. ​
IOS is a trademark or registered trademark of Cisco in the U.S. and other countries and is used under license. ​
Other product and company names mentioned herein may be trademarks of their respective companies.