Swift Academy · Урок

Логические операторы и короткое замыкание

Объединяйте условия с помощью &&, ||, ! и изучайте вычисление по короткому замыканию.

Урок 3 из 413 шагов

«Логические операторы и короткое замыкание» — бесплатный урок Swift Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Swift Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Swift Academy содержит 4 уроков всего.

Логические операторы

Логические операторы объединяют значения Bool: AND &&, OR || и NOT !. Они необходимы для построения условий.

let isWeekend = true
let isSunny = false
print(isWeekend && isSunny)
print(isWeekend || isSunny)
print(!isSunny)

Логическое NOT

Оператор ! меняет логическое значение на противоположное: true становится false, и наоборот.

let loggedIn = false
if !loggedIn {
    print("Please log in")
}

Логическое AND

&& равно true только тогда, когда оба операнда имеют значение true. Используйте его, когда должны выполняться все условия.

let hasTicket = true
let hasID = true
let canEnter = hasTicket && hasID
print("Can enter:", canEnter)

Логическое OR

|| равно true, когда хотя бы один операнд имеет значение true. Используйте его, когда достаточно любого условия.

let isAdmin = false
let isOwner = true
let canEdit = isAdmin || isOwner
print("Can edit:", canEdit)

Сочетание AND и OR

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

let age = 20
let hasGuardian = false
let allowed = (age >= 18) || hasGuardian
print("Allowed:", allowed)

Сокращённое вычисление для AND

Swift использует сокращённое вычисление: в выражении a && b, если a равно false, Swift никогда не вычисляет b, потому что результат уже известен и равен false.

func sideEffect() -> Bool {
    print("sideEffect ran")
    return true
}
let result = false && sideEffect()
print("Result:", result)

Сокращённое вычисление для OR

Аналогично, в выражении a || b, если a равно true, Swift пропускает b. Правая часть проверяется только при необходимости.

func sideEffect() -> Bool {
    print("sideEffect ran")
    return false
}
let result = true || sideEffect()
print("Result:", result)

Зачем нужно сокращённое вычисление

Сокращённое вычисление позволяет сначала разместить дешёвую или безопасную (safe) защитную проверку, которая предотвращает выполнение следующей дорогостоящей или рискованной проверки. Порядок операндов имеет значение.

let numbers = [10, 20, 30]
let index = 5
if index < numbers.count && numbers[index] > 0 {
    print("Safe access")
} else {
    print("Index out of bounds guarded")
}

Порядок вычисления слева направо

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

func check(_ label: String, _ value: Bool) -> Bool {
    print("checking", label)
    return value
}
let r = check("A", false) && check("B", true)
print("Final:", r)

Построение сложных условий

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

let temp = 25
let humidity = 40
let comfortable = (temp >= 18 && temp <= 26) && (humidity < 60)
print("Comfortable:", comfortable)

Отрицание составных условий

Заключение условия в !(...) инвертирует его целиком. Согласно правилам де Моргана, !(a && b) равно !a || !b.

let a = true
let b = false
print(!(a && b))
print(!a || !b)

Быстрая проверка

Рассуждайте о сокращённом вычислении.

Итоги: логические операторы и сокращённое вычисление

Вы изучили &&, || и !, узнали, что && останавливается на первом значении false, а || — на первом значении true, а также поняли, как это сокращённое вычисление слева направо позволяет начальной защитной проверке защищать следующую проверку.

let list = [1, 2, 3]
let i = 10
let safe = i < list.count && list[i] == 2
print("Safe and matched:", safe)
Можно начать бесплатно

Изучай Swift с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
122
Уроки
409

Часто задаваемые вопросы

Урок «Логические операторы и короткое замыкание» бесплатный?

Да — полный текст урока «Логические операторы и короткое замыкание» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Swift Academy, подпишись на CoddyKit PRO. Курс Swift Academy содержит 4 уроков всего.

Чему я научусь в уроке «Логические операторы и короткое замыкание»?

Объединяйте условия с помощью &&, ||, ! и изучайте вычисление по короткому замыканию. Ты практикуешь Swift Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Swift Academy?

Предыдущий опыт не требуется. Swift Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Логические операторы и короткое замыкание»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Swift Academy?

Да. Каждый урок Swift Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Арифметические операторы и операторы составного присваивания
  2. Операторы сравнения и идентичности
  3. Логические операторы и короткое замыкание
  4. Побитовые операторы и переполнение
← Назад к Swift Academy