V tomto článku sa naučíte používať dva podmienené príkazy: ak a ak … inak na riadenie toku vykonávania vášho programu.
V programovaní budete možno chcieť vykonať rôzne akcie na základe zadanej podmienky, ktorá je true
alebo false
(ktorá je známa iba počas doby behu). V takýchto prípadoch sa používajú príkazy riadenia toku.
Vyhlásenie Swift if (if-then)
Syntax príkazu if v Swifte je:
ak výraz (// príkazy)
- Tu
expression
je boolovský výraz (vráti buďtrue
alebofalse
). - Ak
expression
sa vyhodnotítrue
,if
vykonajú sa príkazy vnútri bloku kódu . - Ak
expression
sa vyhodnotífalse
, príkazy vo vnútri bloku kóduif
sa z vykonania preskočia.
Ako keď vyhlásenie funguje?
Príklad 1: Príkaz Swift if
let number = 10 if number> 0 ( print("Number is positive.") ) print("This statement is always executed.")
Po spustení programu bude výstup:
Číslo je kladné. Toto vyhlásenie sa vykoná vždy.
Vo vyššie uvedenom programe sme inicializovali konštantné číslo s hodnotou 10 a testovací výraz sa number> 0
vyhodnotí ako true. Preto je príkaz print("Number is positive.")
v tele príkazu if vykonaný, ktorého výstupom je Number, je kladné. v konzole …
Teraz zmeňte hodnotu čísla na záporné celé číslo. Povedzme -5
. Výstupom v tomto prípade bude:
Toto vyhlásenie sa vykoná vždy.
Keď je číslo inicializované hodnotou -5, testovací výraz number> 0
sa vyhodnotí ako nepravdivý. Z tohto dôvodu kompilátor Swift preskočí vykonávanie tela príkazu if.
Príkaz Swift if … else (if-else)
Príkaz if vykoná určitú časť kódu, ak je testovací výraz vyhodnotený ako pravdivý. Príkaz if môže mať voliteľný príkaz else. Ak je testovací výraz nepravdivý, vykoná sa kód v tele príkazu else.
Syntax príkazu if-else je:
ak výraz (// príkazy) else (// príkazy)
Ako keď vyhlásenie … else funguje?
Príklad 2: Prí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.")
Po spustení programu bude výstup:
Číslo je kladné. Toto vyhlásenie sa vykoná vždy
Vo vyššie uvedenom programe je konštantné číslo inicializované hodnotou 10 a testovací výraz je number> 0
vyhodnotený na true
. Preto print("Number is positive.")
sa vykoná príkaz v tele príkazu if.
Tento výstup Počet je pozitívny. v konzole a príkazy vo vnútri tela else sú z vykonania preskočené.
Teraz zmeňte hodnotu čísla na záporné číslo. Povedzme -5. Výstupom v tomto prípade bude:
Číslo nie je kladné. Toto vyhlásenie sa vykoná vždy.
Keď je číslo -5, testovací výraz number> 0
sa vyhodnotí na false
. V tomto prípade sa vykonajú príkazy vnútri tela else a príkazy vnútri tela if sa z vykonania preskočia.
Príkaz if … else môžete tiež nahradiť ternárnym operátorom v programe Swift, čo je skratková notácia príkazu if … else.
Príkaz Swift if … else… if (if-else-if)
V aplikácii Swift je tiež možné vykonať jeden blok kódu z mnohých. Na to môžete použiť, ak … inak …, ak rebrík ako:
Syntax príkazu if-else-if je:
ak výraz1 (// príkazy) else ak výraz2 (// príkazy) else if výraz3 (// príkazy) … else (// príkazy)
Príkazy if sa vykonávajú zhora nadol. Len čo je testovací výraz pravdivý, vykonajú sa kódy v tele tohto príkazu if. Potom riadenie programu skočí mimo rebrík „if-else-if“.
Ak sú všetky testovacie výrazy, vykoná sa false
kód v tele tela else
Príklad 3: Swift if … else … if Statement
Nasledujúci program kontroluje, či je číslo kladné, záporné alebo 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 spustení programu bude výstup:
Číslo je 0.
Vo vyššie uvedenom programe je konštantné číslo inicializované hodnotou 0. Pretože ak sa príkazy vykonávajú zhora nadol, kontroluje výraz, number> 0
ktorý sa vyhodnotí false
.
Potom skontroluje ďalší výraz, number < 0
ktorý sa tiež vyhodnotí ako nepravdivý.
Preto print("Number is 0.")
sa vykoná príkaz v tele else, ktorý má v konzole výstup Number .
Príkaz Swift vnorený, ak … else
Vo Swift je možné mať výroky if … else vo vnútri výroku if … else. Nazýva sa to vnorené, ak … else.
Môžete tiež nahradiť vnorené výroky if … else prepnutím v Swifte, čo je niekedy jednoduchší prístup pri riešení niekoľkých možných možností.
Syntax vnoreného príkazu if-else je:
ak výraz1 (ak výraz2 (// príkazy) else (// príkazy)) else (ak výraz3 (// príkazy) else (// príkazy))
Príklad 4: Vnorené, ak … else Výpis
Tu je program na vyhľadanie najväčšieho z 3 čísel pomocou vnorených príkazov 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) ) )
Keď spustíte vyššie uvedený program, výstup bude:
Najväčšie číslo je 4,5