English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Swift базовый курс

Операторы Swift

Swift управление потоком

Swift коллекции

Swift функции

Swift продвинутый

Swift if, if ... else

В этой статье вы узнаете, как использовать два условных оператора: if и if ... else для определения потока выполнения программы.

В программировании вы можете захотеть выполнять различные действия в зависимости от того, истинно или ложно заданное условие (известно только в runtime). В этом случае используется оператор управления потоком.

Swift if(if-then)

Синтаксис if в Swift:

if expression {
	// Инструкция
}
  • expression - это булевое выражение (возвращает true или false).

  • Если значение expression равно true, то выполняются команды в блоке if.

  • Если значение expression равно false, то команды в блоке if пропускаются.

Как работает оператор if?

Пример 1: Swift 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-строки.

Swift if..else(if-else)

Если значение тестового выражения if равно true, то выполняется определенная часть кода в теле if-строки. If-строка может иметь опциональное else. Если тестовое выражение равно false, то выполняется код в теле else.

Синтаксис if-else:

if expression {
	// Инструкция
} else {
	// Инструкция
}

Как работает оператор if..else?

Пример 2: Swift if 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.

Выражение if..else..if(if-else-if) в Swift

В Swift, также можно выполнять блок кода в множестве мест. Для этого вы можете использовать阶梯 if..else..if:

Синтаксис выражения if-else-if выглядит так:

if expression1 {}}
	// Инструкция
}
else if expression2 {
	// Инструкция
}
else if expression3 {
	// Инструкция
}
.
.
else {
	// Инструкция
}

Выражение if выполняется сверху вниз. Как только тестовое выражение становится true, выполняется код в блоке тела if, и управление программой переходит за пределы阶梯 if-else-if.

Если все тестовые выражения равны false, то выполняется код в блоке else.

Пример 3: выражение if..else..if в Swift

Данный пример программы проверяет, является ли 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.

Вложенные if..else выражения в Swift

В Swift, в выражении if..else может содержаться других if..else выражений. Это называется вложенным if ... else выражением.

Вы также можете использовать в Swift:switchЗамена вложенного if..else выражения, это иногда более простой способ обработки нескольких возможных вариантов.

Синтаксис вложенного if-else выражения выглядит так:

if expression1 {}}
	if expression2 {
		// Инструкция
	} else {
		// Инструкция
	}
}
else {
	if expression3 {
		// Инструкция
	} else {
		// Инструкция
	}
}

Пример 4: Вложенные инструкции if ... 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