V tomto článku se naučíte používat dva podmíněné příkazy: if and if … else to control the flow of your program's execution.
V programování možná budete chtít provádět různé akce na základě zadané podmínky je true
nebo false
(což je známé pouze během doby běhu). V takových případech se používají příkazy řízení toku.
Příkaz Swift if (if-then)
Syntaxe příkazu if v Swiftu je:
if výraz (// příkazy)
- Zde
expression
je booleovský výraz (vrací buďtrue
nebofalse
). - Pokud
expression
je vyhodnocentrue
, jsou provedeny příkazy uvnitř bloku kóduif
. - Pokud
expression
je vyhodnocenfalse
, příkazy uvnitř bloku kóduif
jsou přeskočeny z provedení.
Jak když prohlášení funguje?
Příklad 1: Příkaz Swift if
let number = 10 if number> 0 ( print("Number is positive.") ) print("This statement is always executed.")
Když spustíte program, výstup bude:
Číslo je kladné. Toto prohlášení je vždy provedeno.
Ve výše uvedeném programu jsme inicializovali konstantní číslo s hodnotou 10 a testovací výraz se number> 0
vyhodnotí jako true. Proto je příkaz print("Number is positive.")
uvnitř těla příkazu if proveden, jehož výstup Number je kladný. v konzole …
Nyní změňte hodnotu čísla na záporné celé číslo. Řekněme -5
. Výstup v tomto případě bude:
Toto prohlášení je vždy provedeno.
Když je číslo inicializováno hodnotou -5, je testovací výraz number> 0
vyhodnocen jako nepravdivý. Proto kompilátor Swift přeskočí provedení těla příkazu if.
Příkaz Swift if… else (if-else)
Příkaz if provede určitou část kódu, pokud je testovací výraz vyhodnocen na true. Příkaz if může mít volitelný jiný příkaz. Kód v těle příkazu else se provede, pokud je testovací výraz nepravdivý.
Syntaxe příkazu if-else je:
if výraz (// příkazy) else (// příkazy)
Jak, když … else prohlášení funguje?
Příklad 2: Příkaz 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.")
Když spustíte program, výstup bude:
Číslo je kladné. Toto prohlášení je vždy provedeno
Ve výše uvedeném programu je konstantní číslo inicializováno hodnotou 10 a testovací výraz je number> 0
vyhodnocen jako true
. Proto je proveden příkaz print("Number is positive.")
uvnitř těla příkazu if.
Tento výstup číslo je pozitivní. v konzole a příkazy uvnitř těla else jsou z provedení přeskočeny.
Nyní změňte hodnotu čísla na záporné číslo. Řekněme -5. Výstup v tomto případě bude:
Číslo není kladné. Toto prohlášení je vždy provedeno.
Když je číslo -5, je testovací výraz number> 0
vyhodnocen na false
. V tomto případě jsou prováděny příkazy uvnitř těla else a příkazy uvnitř těla if jsou přeskočeny.
Můžete také nahradit příkaz if… else ternárním operátorem v Swiftu, což je druh zkratkové notace příkazu if… else.
Příkaz Swift if… else… if (if-else-if)
Ve Swiftu je také možné spustit jeden blok kódu z mnoha. K tomu můžete použít, pokud … jinak …, pokud žebřík jako:
Syntaxe příkazu if-else-if je:
if expression1 (// příkazy) else if expression2 (// příkazy) else if expression3 (// příkazy)… else (// příkazy)
Příkazy if jsou prováděny shora dolů. Jakmile je testovací výraz pravdivý, provede se kód uvnitř těla příkazu if. Poté ovládání programu skočí mimo žebřík if-else-if.
Pokud jsou všechny testovací výrazy false
, provede se kód uvnitř těla else
Příklad 3: Swift if… else… if Statement
Následující program kontroluje, zda je číslo kladné, záporné nebo 0.
let number = 0; if number> 0 ( print("Number is positive.") ) else if (number < 0) ( print("Number is negative.") ) else ( print("Number is 0.") )
Když spustíte program, výstup bude:
Číslo je 0.
Ve výše uvedeném programu je konstantní číslo inicializováno hodnotou 0. Protože jsou-li příkazy prováděny shora dolů, kontroluje výraz, number> 0
který se vyhodnotí false
.
Potom zkontroluje další výraz, number < 0
který se také vyhodnotí jako false.
Proto je proveden příkaz print("Number is 0.")
uvnitř těla else, jehož výstupem Number je 0. v konzole.
Swift vnořený, pokud … else Prohlášení
Ve Swiftu je možné mít příkazy if… else uvnitř příkazu if… else. Říká se tomu vnořené, pokud … else.
Můžete také nahradit vnořený příkaz if … else přepínačem v Swiftu, což je někdy jednodušší přístup při řešení několika možných možností.
Syntaxe vnořeného příkazu if-else je:
pokud výraz1 (pokud výraz2 (// příkazy) else (// příkazy)) else (pokud výraz3 (// příkazy) else (// příkazy))
Příklad 4: Vnořeno, pokud … else Prohlášení
Zde je program pro vyhledání největších ze 3 čísel pomocí vnořených příkazů 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) ) )
Když spustíte výše uvedený program, výstup bude:
Největší počet je 4,5