W tym artykule nauczysz się używać dwóch instrukcji warunkowych: if i if… else do kontrolowania przepływu wykonywania programu.
Podczas programowania możesz chcieć wykonać różne akcje na podstawie określonego warunku to true
lub false
(który jest znany tylko w czasie wykonywania). W takich przypadkach używane są instrukcje kontroli przepływu.
Instrukcja Swift if (if-then)
Składnia instrukcji if w języku Swift to:
if wyrażenie (// instrukcje)
- Oto
expression
wyrażenie boolowskie (zwraca albotrue
lubfalse
). - Jeśli wartość
expression
jest szacowana natrue
, wykonywane są instrukcje wewnątrz bloku koduif
. - Jeśli wartość
expression
ma wartośćfalse
, instrukcje wewnątrz bloku koduif
są pomijane podczas wykonywania.
Jak działa stwierdzenie?
Przykład 1: instrukcja Swift if
let number = 10 if number> 0 ( print("Number is positive.") ) print("This statement is always executed.")
Po uruchomieniu programu wynik będzie następujący:
Liczba jest dodatnia. Ta instrukcja jest zawsze wykonywana.
W powyższym programie zainicjowaliśmy stałą liczbę o wartości 10, a wyrażenie testowe zwraca number> 0
wartość true. W związku z tym wykonywana jest instrukcja print("Number is positive.")
wewnątrz treści instrukcji if, której wynikiem jest liczba dodatnia. w konsoli…
Teraz zmień wartość liczby na ujemną liczbę całkowitą. Powiedzmy -5
. Wynik w tym przypadku będzie:
Ta instrukcja jest zawsze wykonywana.
Gdy liczba jest inicjowana wartością -5, wyrażenie testowe number> 0
jest oceniane jako fałsz. Dlatego kompilator Swift pomija wykonywanie treści instrukcji if.
Swift if… else (if-else) Instrukcja
Instrukcja if wykonuje określoną sekcję kodu, jeśli wartość wyrażenia testowego ma wartość true. Instrukcja if może mieć opcjonalną instrukcję else. Kod wewnątrz treści instrukcji else jest wykonywany, jeśli wyrażenie testowe jest fałszywe.
Składnia instrukcji if-else to:
if wyrażenie (// instrukcje) else (// instrukcje)
A jeśli… else zdanie działa?
Przykład 2: instrukcja Swift if else
let number = 10 if number> 0 ( print("Number is positive.") ) else ( print("Number is not positive.") ) print("This statement is always executed.")
Po uruchomieniu programu wynik będzie następujący:
Liczba jest dodatnia. Ta instrukcja jest zawsze wykonywana
W powyższym programie stała liczba jest inicjalizowana wartością 10, a wyrażenie testowe zwraca number> 0
wartość true
. Stąd instrukcja print("Number is positive.")
w treści instrukcji if jest wykonywana.
Ta liczba wyjściowa jest dodatnia. w konsoli i instrukcje wewnątrz treści else są pomijane podczas wykonywania.
Teraz zmień wartość liczby na liczbę ujemną. Powiedzmy -5. Wynik w tym przypadku będzie:
Liczba nie jest dodatnia. Ta instrukcja jest zawsze wykonywana.
Gdy liczba wynosi -5, wyrażenie testowe number> 0
jest oceniane na false
. W takim przypadku wykonywane są instrukcje wewnątrz treści else, a instrukcje wewnątrz treści if są pomijane podczas wykonywania.
W języku Swift można również zamienić instrukcję if… else operatorem trójskładnikowym, który jest swego rodzaju skróconą notacją instrukcji if… else.
Swift if… else… if (if-else-if) Statement
W Swift możliwe jest również wykonanie jednego bloku kodu spośród wielu. W tym celu możesz użyć if… else… if ladder jako:
Składnia instrukcji if-else-if to:
if wyrażenie1 (// instrukcje) else if wyrażenie2 (// instrukcje) else if wyrażenie3 (// instrukcje)… else (// instrukcje)
Instrukcje if są wykonywane od góry do dołu. Jak tylko wyrażenie testowe jest prawdziwe, kody wewnątrz jego treści są wykonywane. Następnie sterowanie programem wyskakuje poza drabinę if-else-if.
Jeśli wszystkie wyrażenia testowe są false
, wykonywany jest kod wewnątrz treści else
Przykład 3: Swift if… else… if Statement
Poniższy program sprawdza, czy liczba jest dodatnia, ujemna czy 0.
let number = 0; if number> 0 ( print("Number is positive.") ) else if (number < 0) ( print("Number is negative.") ) else ( print("Number is 0.") )
Po uruchomieniu programu wynik będzie następujący:
Liczba to 0.
W powyższym programie stała liczba jest inicjalizowana wartością 0. Ponieważ jeśli instrukcje są wykonywane od góry do dołu, sprawdza wyrażenie, number> 0
którego wynikiem jest false
.
Następnie sprawdza następne wyrażenie, number < 0
którego wynikiem również jest fałsz.
W związku z tym wykonywana jest instrukcja print("Number is 0.")
wewnątrz treści else, której wynikiem w konsoli jest liczba 0 .
Swift zagnieżdżone if… else Instrukcja
Możliwe jest umieszczenie instrukcji if… else w instrukcji if… else w języku Swift. Nazywa się to instrukcją zagnieżdżoną if… else.
Zagnieżdżoną instrukcję if… else można również zastąpić przełącznikiem w języku Swift, co jest czasem prostszym podejściem w przypadku kilku możliwych opcji.
Składnia zagnieżdżonej instrukcji if-else to:
if wyrażenie1 (if wyrażenie2 (// instrukcje) else (// instrukcje)) else (if wyrażenie3 (// instrukcje) else (// instrukcje))
Przykład 4: zagnieżdżona instrukcja if… else
Oto program do wyszukiwania największych z 3 liczb przy użyciu zagnieżdżonych instrukcji 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) ) )
Po uruchomieniu powyższego programu wynik będzie:
Największa liczba to 4,5