Käyttäjän työkalut

Sivuston työkalut


java:rakenteet:if_else

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!!!");
	}
   }
}

Tehtäviä

java/rakenteet/if_else.txt · Viimeksi muutettu: 2015/08/13 16:54 / 127.0.0.1