English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этой статье вы узнаете, как использовать два условных оператора: if и if ... else для определения потока выполнения программы.
В программировании вы можете захотеть выполнять различные действия в зависимости от того, истинно или ложно заданное условие (известно только в runtime). В этом случае используется оператор управления потоком.
Синтаксис if в Swift:
if expression { // Инструкция }
expression - это булевое выражение (возвращает true или false).
Если значение expression равно true, то выполняются команды в блоке if.
Если значение expression равно false, то команды в блоке if пропускаются.
let number = 10 if number > 0 { print("数字为正。") } print("Эта команда всегда выполняется.")
При выполнении этого программы, вывод будет:
Число является положительным. Эта инструкция всегда выполняется.
В предыдущем примере мы инициализировали константу number значением 10, и результат вычисления выражения number>0 равен true. Поэтому команда print("Number is positive.") в теле if-строки будет выполнена, и она выведет:Число положительное. В консоли.
Теперь измените значение number на отрицательное целое число, например, -5. В этом случае вывод будет следующим:
Эта команда всегда выполняется.
Когда number инициализируется значением -5, результат вычисления выражения number > 0 равен false. Поэтому компилятор Swift пропустит выполнение тела if-строки.
Если значение тестового выражения if равно true, то выполняется определенная часть кода в теле if-строки. If-строка может иметь опциональное else. Если тестовое выражение равно false, то выполняется код в теле else.
Синтаксис if-else:
if expression { // Инструкция } else { // Инструкция }
let number = 10 if number > 0 { print("数字为正。") } else { print("Число не положительное.") } print("Эта команда всегда выполняется.")
При выполнении этого программы, вывод будет:
Число является положительным. Эта инструкция всегда выполняется.
В данном примере константа number инициализируется значением 10, и результат вычисления выражения (number > 0) равен true. Поэтому команда print("Число положительное.") в теле if-строки будет выполнена.
Этот вывод : Число является положительным.В консоли инструкции в блоке else будут пропущены.
Теперь измените значение number на отрицательное. Предположим, что это -5. В этом случае вывод будет:
Число не является положительным. Эта инструкция всегда выполняется.
Когда number равен -5, результат вычисления тестового выражения number > 0 равен false. В этом случае выполняется код в блоке else, и пропускается код в блоке if.
Вы также можете использовать в Swift:Триплекс оператор Это сокращенная форма выражения if...else, заменяющая if..else.
В Swift, также можно выполнять блок кода в множестве мест. Для этого вы можете использовать阶梯 if..else..if:
Синтаксис выражения if-else-if выглядит так:
if expression1 {}} // Инструкция } else if expression2 { // Инструкция } else if expression3 { // Инструкция } . . else { // Инструкция }
Выражение if выполняется сверху вниз. Как только тестовое выражение становится true, выполняется код в блоке тела if, и управление программой переходит за пределы阶梯 if-else-if.
Если все тестовые выражения равны false, то выполняется код в блоке else.
Данный пример программы проверяет, является ли number положительным, отрицательным или равным 0.
let number = 0; if number > 0 { print("数字为正。") } else if (number < 0) { print("数字为负数。") } else { print("数字为0。") }
При выполнении этого программы, вывод будет:
Число равно 0.
В данном примере константа number инициализирована значением 0. Поскольку if выполняет инструкции сверху вниз, то он сначала проверяет выражение number > 0, которое вычисляется как false.
Затем, он проверяет следующий выражение number < 0, результат которого также равен false.
Таким образом, print("Number is 0.") выполнит инструкции в блоке else, которые выводятся в консоли.Число равно 0.
В Swift, в выражении if..else может содержаться других if..else выражений. Это называется вложенным if ... else выражением.
Вы также можете использовать в Swift:switchЗамена вложенного if..else выражения, это иногда более простой способ обработки нескольких возможных вариантов.
Синтаксис вложенного if-else выражения выглядит так:
if expression1 {}} if expression2 { // Инструкция } else { // Инструкция } } else { if expression3 { // Инструкция } else { // Инструкция } }
Это программа, которая использует вложенные инструкции if, чтобы найти наибольшее из трёх чисел.
let n1 = -1.0, n2 = 4.5, n3 = -5.3 if n1 >= n2 { if n1 >= n3 { print("Наибольшее число равно ", n1) } else { print("Наибольшее число равно ", n3) } } else { if n2 >= n3 { print("Наибольшее число равно ", n2) } else { print("Наибольшее число равно ", n3) } }
Когда вы запустите вышеуказанную программу, вывод будет:
Наибольшее число равно 4.5