Ohjelmointikurssi ei toimi kunnolla selaimessasi.
Ohjelmointikurssi ei valitettavasti toimi Internet Explorer -selailemella. Suosittelemme että teet kurssia joko uusimmalla Chromella tai uusimalla Firefoxilla.

Ehdot

If-ehtolause

Usein halutaan, että ohjelman sisäinen tila vaikuttaa ohjelman suoritukseen. Voitaisiin esimerkiksi haluta, että ohjelma tulostaa erilaisen tulosteen riippuen jonkin muuttujan arvosta. Esimerkiksi alla oleva ohjelma tulostaa eri tekstin riippuen muuttujan ika arvosta. Jos ikä on alle 18, suoritetaan aaltosulkeiden sisällä eli if-lohkossa oleva koodi.

var ika = 14
if (ika < 18) {
  console.log("Olet alaikäinen!")
}

Koodin ehdollinen suoritus onnistuu if-avainsanan avulla. If-ehtolauseen rakenne on if ( ehto ) { koodi, joka suoritetaan ehdon ollessa tosi }. Eli if-avainsanan jälkeen laitetaan jonkin ehto, jonka totuutta tarkastellaan ja sen jälkeen kirjoitetaan aaltosulkuihin koodi, joka tulee suorittaa ehdon ollesssa tosi. If-ehtolauseen jälkeen voi halutessaan kirjoittaa perään else-lohkon kuten yllä olevassa esimerkissä. Else-lohko suoritetaan siinä tapauksessa, että ehto ei ole tosi.

Ehdot

Jotta voimme käyttää edellä esiteltyjä ehtolauseita, meidän täytyy osata kirjoittaa joitain ehtoja niille. Eräs yksinkertainen ehto on yhtäsuuruden vertailu. Se onnistuu merkinnällä ==. Ehtolauseen if (muuttuja == toinenMuuttuja ) { koodi } koodi suoritetaan, jos muuttuja ja toinenMuuttuja sisältävät saman arvon.

Luvuilla voimme yhtäsuuruuden lisäksi tarkastella niiden suuruuksia. Voimme esimerkiksi tarkistaa, onko luku pienempi tai suurempi kuin toinen luku. Suuruuden vertailu onnisttuu operaattoreilla <, >, <= ja >=. Operaattorit < ja > eivät ota yhtäsuuruutta huomioon kun taas operaattorit <= ja >= ottavat.

Esimerkkejä ehdoista

Seuraavat ehdot ovat totta:
  • 1 < 2
  • 2 <= 2
  • 7 > 5
  • 7 >= 5
Seuraavat ehdot eivät ole totta:
  • 3 < 2
  • 3 <= 2
  • 1 > 2
  • 1 >= 2

Seuraavassa koodinpätkässä ehto on totta, joten vain if-lohkon sisällä oleva koodi suoritetaan:

var luku = 8
var toinenLuku = 7
if (luku >= toinenLuku) {
  // If-lohko, joka suoritetaan
}

Seuraavassa koodinpätkässä ehto on epätosi ja vain else:n sisällä oleva koodi suoritetaan:

var luku = 6
var toinenLuku = 7
if (luku >= toinenLuku) {
  // If-lohko, jota ei suoriteta
}
Tehtävä:
Ehtojen harjoittelua
Muuta muuttujan a arvoa niin, että tehtävässä oleva ehto on totta.
Odotettu vastaus: Ohjelma tulostaa "Totta".
Tehtävä:
Oma ehto
Käytä kahta lukua ja tee totta oleva ehto. Kirjoita ehtosi sanan false tilalle.
Odotettu vastaus: Ohjelma tulostaa "Totta".

Vastakkainen ehto

Ehtolauseet ovat hyödyllisiä, mutta useita ohjelmia yksinkertaistaisi jos voisimme suorittaa koodia tapauksessa, jossa ehto ei ollut tosi. Yksi tapa tehdä tämä on tehdä päinvastainen ehto ensimmäisen ehdon jälkeen. Esimerkiksi jos ensimmäinen ehto olisi if ( x > 3) ehto if ( x <= 3) suoritetaan aina, kun ensimmäinen ei ole totta.

Tehtävä:
Vastakkainen ehto
Alla olevassa tehtävässä on ehto. Kirjoita toinen ehto sanan false tilalle, joka on totta aina kun ensimmäinen ehto ei ole totta.

Else

Vastakkaisen ehdon kirjoittaminen toimii, mutta niiden kirjoittaminen on työlästä. Helpompaa olisi, jos meillä olisi tapa ilmaista että haluamme suorittaa tiettyä koodia, kun ehto ei ole totta.

Tälläisiä tilanteita varten on olemassa else-lohko. Se liitetään if-lohkon perään ja suoritetaan kun if-lauseen ehto ei ole totta. Alla oleva esimerkissä suortitettaisiin vain alempi else-lohko ja ohjelma tulostaisi "Olet täysi-ikäinen!".

var ika = 18
if (ika < 18) {
  console.log("Olet alaikäinen!")
} else {
  console.log("Olet täysi-ikäinen!")
}
Tehtävä:
Else
Alla olevassa tehtävässä on ehto. Lisää siihen else-haara ja tulosta siellä jotakin.
Valmis?
Jatka seuraavaksi
listoihin.