U ovom ćete članku naučiti koristiti dvije uvjetne izjave: ako i ako … ostalo za kontrolu tijeka izvršavanja vašeg programa.
U programiranju ćete možda htjeti izvesti različite radnje na temelju navedenog uvjeta je true
ili false
(što je poznato samo tijekom vremena izvođenja). U takvim slučajevima koriste se izjave o kontrolnom toku.
Brza izjava ako (ako-tada)
Sintaksa naredbe if u Swiftu je:
if izraz (// iskazi)
- Ovdje
expression
je logički izraz (vraća ilitrue
ilifalse
). - Ako
expression
se procjenjuje natrue
,if
izvršavaju se izrazi unutar bloka koda od . - Ako
expression
se evaluira nafalse
, naredbe unutar bloka kodaif
preskaču se iz izvršavanja.
Kako ako izjava djeluje?
Primjer 1: Brza izjava if
let number = 10 if number> 0 ( print("Number is positive.") ) print("This statement is always executed.")
Kada pokrenete program, izlaz će biti:
Broj je pozitivan. Ova se izjava uvijek izvršava.
U gore navedenom programu inicijalizirali smo konstantni broj s vrijednošću 10 i test test izražava vrijednost number> 0
true. Dakle, izjava print("Number is positive.")
unutar tijela if naredbe izvršava se koja daje Number pozitivan. u konzoli …
Sada promijenite vrijednost broja u negativan cijeli broj. Recimo -5
. Izlaz u ovom slučaju bit će:
Ova se izjava uvijek izvršava.
Kada se broj inicijalizira vrijednošću -5, test izraz number> 0
se procjenjuje na false. Stoga Swift kompajler preskače izvršavanje tijela if naredbe.
Brza izjava ako … drugo (ako-drugačije)
Izraz if izvršava određeni odjeljak koda ako je test izraz izražen kao istinit. Izraz if može imati neobaveznu izjavu else. Kôd unutar tijela naredbe else izvršava se ako je test izraz netačan.
Sintaksa naredbe if-else je:
if izraz (// iskazi) else (// iskazi)
Kako ako… inače izjava djeluje?
Primjer 2: Brza izjava ako ne
let number = 10 if number> 0 ( print("Number is positive.") ) else ( print("Number is not positive.") ) print("This statement is always executed.")
Kada pokrenete program, izlaz će biti:
Broj je pozitivan. Ova se izjava uvijek izvršava
U gore navedenom programu konstantni broj inicijalizira se vrijednošću 10, a test izraz number> 0
izračunava na true
. Stoga se izjava print("Number is positive.")
unutar tijela if naredbe izvršava.
Ovo daje broj pozitivan. u konzoli i iskazi unutar tijela else preskaču se iz izvršenja.
Sada promijenite vrijednost broja u negativan broj. Recimo -5. Izlaz u ovom slučaju bit će:
Broj nije pozitivan. Ova se izjava uvijek izvršava.
Kada je broj -5, test izraz number> 0
se procjenjuje na false
. U ovom se slučaju izvršavaju izrazi unutar tijela else, a izrazi unutar tijela if preskaču se iz izvršenja.
Izjavu if … else također možete zamijeniti ternarnim operatorom u Swiftu, što je svojevrsna skraćena oznaka izjave if … else.
Brzo izjavi if … else … if (ako-inače-ako)
U Swiftu je također moguće izvršiti jedan blok koda među mnogima. Za to možete koristiti if … else … if ljestve kao:
Sintaksa naredbe if-else-if je:
if izraz1 (// iskazi) else if izraz2 (// iskazi) else if izraz3 (// iskazi) … else (// iskazi)
Izjave if izvršavaju se od vrha prema dnu. Čim je test izraz istinit, kodovi unutar tijela one if naredbe se izvršavaju. Zatim, kontrola programa skače izvan ljestvice if-else-if.
Ako su svi testni izrazi false
, izvršava se kôd unutar tijela else
Primjer 3: Brzo ako … drugo … ako Izjava
Sljedeći program provjerava je li broj pozitivan, negativan ili 0.
let number = 0; if number> 0 ( print("Number is positive.") ) else if (number < 0) ( print("Number is negative.") ) else ( print("Number is 0.") )
Kada pokrenete program, izlaz će biti:
Broj je 0.
U gornjem programu, konstantni broj inicijalizira se vrijednošću 0. Budući da se, ako se izrazi izvršavaju od vrha prema dnu, provjerava izraz number> 0
koji procjenjuje na false
.
Zatim provjerava sljedeći izraz number < 0
koji također procjenjuje na false.
Dakle, print("Number is 0.")
izvršava se izraz unutar tijela else koji na konzoli daje broj 0 .
Brza ugniježđena izjava if … else
Moguće je imati if … else izjave unutar if … else izjave u Swiftu. Naziva se ugniježđenim if … else izrazom.
Također možete zamijeniti ugniježđenu if … else izjavu prekidačem u Swiftu, što je ponekad jednostavniji pristup kada se radi s nekoliko mogućih opcija.
Sintaksa ugniježđenog if-else izraza je:
if izraz1 (ako izraz2 (// iskazi) else (// iskazi)) else (ako izraz3 (// iskazi) else (// iskazi))
Primjer 4: Ugnježđena izjava if … else
Evo programa za pronalaženje najvećeg od 3 broja pomoću ugniježđenih if else izraza.
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) ) )
Kada pokrenete gornji program, izlaz će biti:
Najveći broj je 4,5