В тази статия ще се научите да използвате две условни инструкции: ако и ако … друго, за да контролирате потока на изпълнението на вашата програма.
При програмирането може да искате да извършите различни действия въз основа на посоченото условие е true
или false
(което е известно само по време на изпълнение). За такива случаи се използват инструкции за контролен поток.
Бързо изявление ако (ако-тогава)
Синтаксисът на оператора if в Swift е:
if израз (// изявления)
- Ето
expression
булев израз (връща илиtrue
илиfalse
). - Ако
expression
се оценява наtrue
,if
се изпълняват изрази вътре в кодовия блок на . - Ако
expression
се изчисляваfalse
, изразите вътре в кодовия блок наif
се пропускат от изпълнение.
Как ако операторът работи?
Пример 1: Изключително бързо изявление
let number = 10 if number> 0 ( print("Number is positive.") ) print("This statement is always executed.")
Когато стартирате програмата, изходът ще бъде:
Числото е положително. Този оператор винаги се изпълнява.
В горната програма сме инициализирали константно число със стойност 10 и тестовият израз се number> 0
оценява на true. Следователно, изявлението print("Number is positive.")
вътре в тялото на оператора if се изпълнява, което извежда Number е положително. в конзолата …
Сега променете стойността на числото на отрицателно цяло число. Да кажем -5
. Резултатът в този случай ще бъде:
Този оператор винаги се изпълнява.
Когато числото се инициализира със стойност -5, тестовият израз number> 0
се оценява на false. Следователно, компилаторът Swift прескача изпълнението на тялото на оператора if.
Бързо изявление, ако … друго (ако друго)
Операторът if изпълнява определена секция от код, ако тестовият израз е оценен като истина. Операторът if може да има незадължителен оператор else. Кодът в тялото на оператора else се изпълнява, ако тестовият израз е невярен.
Синтаксисът на оператора if-else е:
if израз (// изявления) else (// изявления)
Как ако… друго изявление работи?
Пример 2: Изключително бързо изявление
let number = 10 if number> 0 ( print("Number is positive.") ) else ( print("Number is not positive.") ) print("This statement is always executed.")
Когато стартирате програмата, изходът ще бъде:
Числото е положително. Този оператор винаги се изпълнява
В горната програма константното число се инициализира със стойност 10 и тестовият израз number> 0
изчислява на true
. Следователно, изявлението print("Number is positive.")
вътре в тялото на оператора if се изпълнява.
Това извежда числото е положително. в конзолата и инструкциите вътре в тялото на else се пропускат от изпълнение.
Сега променете стойността на числото на отрицателно число. Да кажем -5. Резултатът в този случай ще бъде:
Числото не е положително. Този оператор винаги се изпълнява.
Когато числото е -5, тестовият израз number> 0
се оценява на false
. В този случай инструкциите вътре в тялото на else се изпълняват, а изразите вътре в тялото на if се пропускат от изпълнението.
Можете също така да замените оператора if … else с троичен оператор в Swift, което е нещо като стенографски запис на оператора if … else.
Бързо, ако … друго … ако (ако-друго-ако) Изявление
В Swift също е възможно да се изпълни един блок код сред много. За това можете да използвате, ако … друго … ако стълба като:
Синтаксисът на оператора if-else-if е:
if израз1 (// изрази) else ако израз2 (// изявления) else ако израз3 (// изявления) … else (// изявления)
Операторите if се изпълняват отгоре надолу. Щом тестовият израз е истина, кодовете в тялото на този оператор if се изпълняват. След това контролът на програмата скача извън стълбата if-else-if.
Ако всички тестови изрази са false
, се изпълнява код в тялото на else
Пример 3: Бързо, ако … друго … ако Изявление
Следващата програма проверява дали числото е положително, отрицателно или 0.
let number = 0; if number> 0 ( print("Number is positive.") ) else if (number < 0) ( print("Number is negative.") ) else ( print("Number is 0.") )
Когато стартирате програмата, изходът ще бъде:
Числото е 0.
В горната програма константното число се инициализира със стойност 0. Тъй като ако операторите се изпълняват отгоре надолу, той проверява израза, number> 0
който оценява на false
.
След това проверява следващия израз, number < 0
който също оценява на false.
Следователно, изразът print("Number is 0.")
вътре в тялото на else се изпълнява, който извежда Number е 0. в конзолата.
Суифт, вложен ако … друго изявление
Възможно е да има изрази if … else вътре в if … else изявление в Swift. Тя се нарича вложено, ако … друго изявление.
Можете също така да замените вложеното if … else изявление с превключвател в Swift, което понякога е по-опростен подход при работа с няколко възможни опции.
Синтаксисът на вложения оператор if-else е:
if израз1 (ако израз2 (// изявления) else (// изявления)) else (ако израз3 (// изявления) else (// изявления))
Пример 4: Вложено ако … друго изявление
Ето програма за намиране на най-голямото от 3 числа, използвайки вложени if else изрази.
let n1 = -1.0, n2 = 4.5, n3 = -5.3 if n1>= n2 ( if n1>= n3 ( print("Largest number is ", n1) ) else ( print("Largest number is ", n3) ) ) else ( if n2>= n3 ( print("Largest number is ", n2) ) else ( print("Largest number is ", n3) ) )
Когато стартирате горната програма, изходът ще бъде:
Най-големият брой е 4,5