Tässä artikkelissa opit käyttämään kahta ehdollista lausetta: jos ja jos … muuten ohjaamaan ohjelman suorituksen kulkua.
Ohjelmoinnissa saatat haluta suorittaa erilaisia toimintoja määritetyn ehdon true
tai false
(joka tunnetaan vain ajoaikana) perusteella. Tällaisissa tapauksissa käytetään ohjausvirtauslausekkeita.
Nopea jos (jos-niin) -lausunto
If-lauseen syntaksi Swiftissä on:
if lauseke (// lauseet)
- Tässä
expression
on looginen lauseke (palauttaa jokotrue
taifalse
). - Jos arvo
expression
arvioidaantrue
, suoritetaan lausekkeet koodilohkon sisälläif
. - Jos arvo
expression
arvioidaanfalse
, koodilohkon sisällä olevat lauseetif
ohitetaan suorituksesta.
Miten lausunto toimii?
Esimerkki 1: Nopea, jos lausunto
let number = 10 if number> 0 ( print("Number is positive.") ) print("This statement is always executed.")
Kun suoritat ohjelmaa, tulos on:
Luku on positiivinen. Tämä lause suoritetaan aina.
Yllä olevassa ohjelmassa olemme alustaneet vakionumeron arvolla 10 ja testilausekkeen arvo number> 0
on tosi. Näin ollen lausekkeen print("Number is positive.")
rungon sisällä, jos toteutuslauseke suoritetaan, mikä lähtö Luku on positiivinen. konsolissa…
Muuta nyt luvun arvo negatiiviseksi kokonaisluvuksi. Sanotaan -5
. Tulos on tässä tapauksessa:
Tämä lause suoritetaan aina.
Kun numero alustetaan arvolla -5, testilauseke number> 0
arvioidaan vääräksi. Siksi Swift-kääntäjä ohittaa if-lauseen rungon suorittamisen.
Nopea jos… muu (jos-muu) -lausunto
If-lause suorittaa tietyn koodin osan, jos testilauseke arvioidaan tosi. If-lauseessa voi olla valinnainen else-lause. Koodi muu-lauseen sisällä suoritetaan, jos testilauseke on väärä.
If-else-lauseen syntaksi on:
jos lauseke (// lauseet) else (// lauseet)
Entä jos… muuten lause toimii?
Esimerkki 2: Nopea jos muu lausunto
let number = 10 if number> 0 ( print("Number is positive.") ) else ( print("Number is not positive.") ) print("This statement is always executed.")
Kun suoritat ohjelmaa, tulos on:
Luku on positiivinen. Tämä lause suoritetaan aina
Yllä olevassa ohjelmassa vakioluku alustetaan arvolla 10 ja testilausekkeen arvo number> 0
on true
. Näin ollen lauseke print("Number is positive.")
rungon sisällä, jos lause suoritetaan.
Tämä lähtö on positiivinen. ja konsolin sisällä olevat lausekkeet ohitetaan suorittamisesta.
Vaihda nyt luvun arvo negatiiviseksi. Sanotaan -5. Tulos on tässä tapauksessa:
Luku ei ole positiivinen. Tämä lause suoritetaan aina.
Kun luku on -5, testilausekkeeksi number> 0
arvioidaan false
. Tällöin lausekkeet muissa rungossa suoritetaan ja lausekkeet rungon sisällä ohitetaan suorituksesta.
Voit myös korvata if… else-lauseen kolmivaiheisella operaattorilla Swiftissä, mikä on eräänlainen lyhenne merkinnästä if … else -lausekkeesta.
Nopea, jos… muuten… jos (jos-muu-jos) -lausunto
Swiftissä on myös mahdollista suorittaa yksi koodilohko monien joukossa. Tätä varten voit käyttää jos… muuta … jos tikkaita:
If-else-if-lauseen syntaksi on:
if lauseke1 (// lauseet) else jos lauseke2 (// lauseet) else jos lauseke3 (// lauseet)… else (// lauseet)
If-lauseet suoritetaan ylhäältä alaspäin. Heti kun testilauseke on totta, koodataan sen rungon sisällä, jos käsky suoritetaan. Sitten ohjelman hallinta hyppää if-else-if tikkaiden ulkopuolelle.
Jos kaikki testilausekkeet ovat false
, muuten rungossa oleva koodi suoritetaan
Esimerkki 3: Nopea, jos… muuten… jos lausunto
Seuraava ohjelma tarkistaa, onko luku positiivinen, negatiivinen vai 0.
let number = 0; if number> 0 ( print("Number is positive.") ) else if (number < 0) ( print("Number is negative.") ) else ( print("Number is 0.") )
Kun suoritat ohjelmaa, tulos on:
Luku on 0.
Yllä olevassa ohjelmassa vakioluku alustetaan arvolla 0. Koska jos lauseet suoritetaan ylhäältä alas, se tarkistaa lausekkeen, number> 0
joka arvioi false
.
Sitten se tarkistaa seuraavan lausekkeen, number < 0
joka myös arvioidaan vääräksi.
Täten print("Number is 0.")
suoritetaan muun kehon sisällä oleva käsky, jonka tulos on numero konsolissa.
Swift sisäkkäin, jos… muuten Lausunto
Swiftissä voi olla jos… muuta lauseketta if… else -lausekkeen sisällä. Sitä kutsutaan sisäkkäin, jos… muuta lausetta.
Voit myös korvata sisäkkäisen if… else -lausekkeen Swift-kytkimellä, joka on joskus yksinkertaisempi lähestymistapa käsiteltäessä useita mahdollisia vaihtoehtoja.
Sisäkkäisen if-else-lauseen syntaksi on:
jos lauseke1 (jos lauseke2 (// lauseet) else (// lauseet)) else (jos lauseke3 (// lausekkeet) else (// lauseet))
Esimerkki 4: Sisäkkäin, jos… muu lausunto
Tässä on ohjelma, jolla löydät suurimman 3 numerosta käyttämällä sisäkkäisiä if if-lauseita.
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) ) )
Kun suoritat yllä olevan ohjelman, tulos on:
Suurin luku on 4,5