Luku 5: If-ehtolauseet

If ehtolauseet

If –rakenteen avulla voidaan esittää ehtoja, joiden mukaan koodia toteutetaan.  

Tavallisimmat ehdot ovat seuraavat: 

ehto 

merkitys 

a == b 

a ja b ovat yhtä suuret 

a != b  

a ja b eivät ole yhtä suuret 

a < b 

a on pienempi kuin b 

a <= b 

a on pienempi tai yhtä suuri kuin b 

a > b 

a on suurempi kuin b 

a >= b 

a on suurempi kuin yhtäsuuri kuin b 

Voimme tehdä esimerkiksi seuraavanlaisen ohjelman: Tietokone kysyy käyttäjältä jotakin lukua, ja kertoo, onko luku suurempi vai pienempi kuin 0.  



Ensimmäisellä rivillä pyydetään käyttäjää antamaan jokin luku (muista nyt int-komento, joka kertoo, että kysytty asia halutaan lukuna). 

Kun käyttäjä on syöttänyt jonkin luvun, ohjelma lukee rivin 3 if-lauseen: Jos luku on suurempaa kuin 0, tulostetaan teksti “Luku on suurempi kuin 0”. Huomaa kaksi tärkeää asiaa: if-komennon perään lisätään kaksoispiste ja if-komennon määritelmä (rivi 4) kirjoitetaan sisennettynä. 

Nyt ohjelma tulostaa tekstin “Luku on suurempi kuin 0”, jos annettu luku on nollaa suurempi. Entä jos annettu luku onkin pienempi kuin 0? Tällöin ohjelma ei tulosta mitään. Ehtoon voidaan lisätä else-komento, joka kertoo, mitä tehdään niissä tapauksissa, joissa if-komennon ehto ei toteudu: 



Entä jos halutaan antaa oma ehtonsa vielä sille, että annettu luku on 0? If-rakenteessa voi olla vain yksi if-komento ja yksi else-komento, mutta väliin voi lisätä useamman elif-komennon: 



Ehtoja voi yhdistellä and ja or -komentojen avulla. Voidaan esimerkiksi kysyä käyttäjältä kahta eri lukua, ja kertoa, ovatko i) Molemmat luvut positiivisia, ii) toinen positiivinen ja toinen negatiivinen vai iii) molemmat negatiivisia: