Ebben a cikkben megtanul két feltételes állítást használni: ha és ha… akkor más vezérelheti a program végrehajtásának folyamatát.
A programozás során érdemes lehet különböző műveleteket végrehajtani a megadott feltétel ( true
vagy false
csak a futási idő alatt ismert) alapján. Ilyen esetekben vezérlési folyamat utasításokat használnak.
Gyors if (ha-akkor) nyilatkozat
Az if utasítás szintaxisa a Swiftben:
if kifejezés (// utasítások)
- Itt
expression
van egy logikai kifejezés (vagytrue
vagy visszatérfalse
). - Ha az
expression
értéket kiértékeliktrue
,if
akkor végrehajtják az utasításokat a kódblokkban . - Ha az
expression
értéket értékelifalse
, a kódblokk belsejében lévő utasításokif
kihagyásra kerülnek a végrehajtásból.
Hogyan működik, ha az utasítás működik?
1. példa: Gyors, ha utasítás
let number = 10 if number> 0 ( print("Number is positive.") ) print("This statement is always executed.")
A program futtatásakor a kimenet a következő lesz:
A szám pozitív. Ez az utasítás mindig végrehajtásra kerül.
A fenti programban a konstans számot inicializáltuk 10-es értékkel, és a teszt kifejezés number> 0
igazra értékel. Ennélfogva print("Number is positive.")
a test belsejében található utasítás, ha a utasítás végrehajtásra kerül, mely szám kimenete pozitív. a konzolban…
Most módosítsa a szám értékét negatív egészre. Mondjuk -5
. A kimenet ebben az esetben a következő lesz:
Ez az utasítás mindig végrehajtásra kerül.
Amikor a számot -5 értékkel inicializáljuk, a teszt kifejezést number> 0
hamisra értékeljük. Ezért a Swift fordító kihagyja az if utasítás törzsének végrehajtását.
Gyors, ha… más (ha-más) nyilatkozat
Az if utasítás végrehajt egy bizonyos kódrészt, ha a teszt kifejezést igaznak értékelik. Az if utasítás rendelkezhet opcionális else utasítással. Az else utasítás törzsében lévő kód végrehajtásra kerül, ha a teszt kifejezés hamis.
Az if-else utasítás szintaxisa:
ha kifejezés (// utasítások) else (// utasítások)
Mi lenne, ha… egy másik állítás működne?
2. példa: Gyors, ha másként állítás
let number = 10 if number> 0 ( print("Number is positive.") ) else ( print("Number is not positive.") ) print("This statement is always executed.")
A program futtatásakor a kimenet a következő lesz:
A szám pozitív. Ez az utasítás mindig végrehajtásra kerül
A fenti program, állandó számú alapértéke a 10-es értéket, és a vizsgált kifejezés number> 0
kiértékelése true
. Ezért print("Number is positive.")
a test belsejében lévő utasítás , ha az utasítás végrehajtásra kerül.
Ez a kimenetek száma pozitív. a konzolban, és a testben lévő utasítások kihagyásra kerülnek a végrehajtásból.
Most módosítsa a szám értékét negatív számra. Mondjuk -5. A kimenet ebben az esetben a következő lesz:
A szám nem pozitív. Ez az utasítás mindig végrehajtásra kerül.
Ha a szám -5, a teszt kifejezést number> 0
kiértékeli false
. Ebben az esetben a más testén belüli utasítások végrehajtásra kerülnek, és a test belsejében lévő utasítások kihagyásra kerülnek a végrehajtásból.
A if… else utasítást lecserélheti a háromfázisú operátorral a Swift-ben, ami egyfajta rövidítés az if… else utasításra.
Gyors, ha… másként … ha (ha-ha-ha) nyilatkozat
A Swiftben egy kódblokk végrehajtása is lehetséges a sok közül. Ehhez használhatja, ha… másképp … ha létra:
Az if-else-if utasítás szintaxisa:
if kifejezés1 (// utasítások) else, ha kifejezés2 (// utasítások) else, ha kifejezés3 (// utasítások)… else (// utasítások)
Az if utasításokat felülről lefelé hajtják végre. Amint a teszt kifejezés igaz, kódoljon a test belsejében, ha az utasítás végrehajtásra kerül. Ezután a program vezérlése kiugrik az if-else-if létra felől.
Ha az összes tesztkifejezés megfelel false
, akkor a kód a másik testén belül végrehajtásra kerül
3. példa: Gyors, ha… másképp … ha nyilatkozat
A következő program ellenőrzi, hogy a szám pozitív, negatív vagy 0.
let number = 0; if number> 0 ( print("Number is positive.") ) else if (number < 0) ( print("Number is negative.") ) else ( print("Number is 0.") )
A program futtatásakor a kimenet a következő lesz:
A szám 0.
A fenti program, állandó számú alapértéke a 0 értéket Mivel utasításból végrehajtása fentről lefelé, ellenőrzi a kifejezés number> 0
, melynek kiértékelése false
.
Ezután ellenőrzi a következő kifejezést, number < 0
amely szintén hamisnak minősül.
Ennélfogva az else print("Number is 0.")
testében lévő utasítás végrehajtásra kerül, amely a 0. számot adja ki a konzolban.
Swift beágyazott, ha… másként nyilatkozatot
Lehetséges, hogy ha… más állítások vannak az if… else utasításban a Swift-ben. Beágyazottnak hívják, ha… másként.
A beágyazott if… else állítást lecserélheti a Swift kapcsolójára is, amely néha egyszerűbb megközelítés, ha több lehetséges opciót kezelünk.
A beágyazott if-else utasítás szintaxisa:
if kifejezés1 (ha kifejezés2 (// utasítások) else (// utasítások)) else (ha kifejezés3 (// utasítások) else (// utasítások))
4. példa: Beágyazott, ha… másként állítás
Itt van egy program a 3 szám közül a legnagyobb megtalálásához beágyazott, ha más utasításokkal.
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) ) )
A fenti program futtatásakor a kimenet a következő lesz:
A legnagyobb szám 4,5