If-else -rakenne
If-else -rakenne on kaikkein yksinkertaisin ehtorakenne ja kaikista yleisimmin käytetty erilaisissa tilanteissa. Rakenteen yleinen muoto on seuraava:
if (ehto1)
{
//komennot1
}
else if(ehto2)
{
//komennot2
}
else
{
//komennot3
}
Mikäli ehto1 on voimassa, niin ohjelmasta suoritetaan komennot1. Mikäli ehto1 ei ole voimassa, niin tulkki katsoo, onko ehto2 voimassa. Mikäli ehto2 on voimassa niin komennot2 suoritetaan. Mikäli ehto2 ei ole voimassa, niin komennot3 suoritetaan joka tapauksessa. Komennoista 1, 2 ja 3 suoritetaan vain yhdet!
Jos lohkoon tulee vain yksi ainoa komento, niin aaltosulkuja ei tarvitse. Aaltosulkujen käyttö on kuitenkin suotavaa, sillä ne
- Helpottavat ohjelman lukemista
- Lohkoon on myöhemmin helppo lisätä komentoja
- Ehtorakenteesta voidaan jättää
else-haaroja haluttaessa pois, eli yksinkertaisin if-rakenne on seuraava:
if (ehto)
{
komennot
}
Rakenteeseen voidaan lisäksi liittää niin monta else if (ehto) haaraa kuin halutaan, mutta niistä suoritettaan vain yksi.
Esimerkki. Ohjelma kysyy käyttäjältä luvun ja antaa palautetta luvusta.
/* Ohjelma kysyy käyttäjältä luvun ja vertailee sitä ohjelman sisäiseen, käyttäjälle salaiseen lukuun */ import java.io.*; class Isompi { public static void main(String[] args) throws IOException { BufferedReader lukija = new BufferedReader(new InputStreamReader(System.in)); String syote; int luku; System.out.println("Anna kokonaisluku:"); syote = lukija.readLine(); luku = Integer.parseInt(syote); if (luku > 100) { System.out.println("Onpa iso luku."); } else if(luku==100) { System.out.println("Minullakin on tasan sata!"); } else { System.out.println("Minullapa on isompi luku."); } } }
/* Ohjelmassa kysytään käyttäjältä salasana ja verrataan sitä salasanaan */ import java.io.*; class Salasana { public static void main(String[] args) throws IOException { BufferedReader lukija = new BufferedReader(new InputStreamReader(System.in)); String syote; System.out.print("Anna salasana:"); syote = lukija.readLine(); if (syote.equals("salasana")) { System.out.println("Salasana on oikein."); System.out.println("Siirrymme ohjelman salaiseen osioon..."); } else { System.out.println("Salasana oli väärin!!!"); } } }
