Access Keys:
Skip to content (Access Key - 0)


Kapittel 2.7 - Booleanske variabler

Added by Joachim Haagen Skeie , last edited by Joachim Haagen Skeie on Nov 21, 2009 22:33
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

En booleansk variabel kan kun ha en av to verdier, true eller false og benyttes for å kunne bestemme om en hendelse skal kjøres eller ikke. En booleansk variabel er av typen boolean og deklareres tilsvarende andre variabler i Java.

Følgende program leser inn 2 desimaltall fra kommando linjen og vurderer hvilke av variablene som er størst.

public class BooleanEn
{
	public static void main(String[] args)
	{
		//Skriv ut feilmelding dersom det ikke er eksakt 1 argument
		//fra kommandolinjen
		if (args.length != 2)
		{
			System.out.println("Bruk: java BooleanEn a b\n" + 
				"Der a og b er et desimaltall");
		}
		else	//Regn ut omkrets og volum til sirkelen
		{
			double a = 0;
			double b = 0;
			
			//Forsøk å lese inn en heltallsverdi
			try
			{
				//Prøv å parse en double verdi fra komando linje argumentet
				a = Double.parseDouble(args[0]);
				b = Double.parseDouble(args[1]);
			}
			//Dersom argumentet ikke er en int, skriv ut feilmelding og
			//avslutt programmet
			catch (NumberFormatException nfe)
			{
				System.out.println("a og b må begge være et desimaltall: " + nfe.getMessage());
				System.exit(0);	//Avslutter programmet
			}
			
			//Har vi kommet hit vet vi at a og b er gyldige desimaltall
			
			//Finn ut om a er større, lik, eller mindre enn b
			boolean aStørreEnnB = a > b;
			boolean aLikB = a == b;
			boolean aMindreEnnB = a < b;
			
			if (aStørreEnnB)	//Hvis aStørreEnnB er sann
				System.out.println("a er større enn b");
			if (aLikB)	//Hvis aLikB er sann
				System.out.println("a er lik b");
			if (aMindreEnnB)	//Hvis aMindreEnnB er sann
				System.out.println("a er mindre enn b");
		}
	}
}

I kode linje 35 til 37 over har jeg definert tre booleanske variabler, aStørreEnnB, aLikB og aMindreEnnB. Disse variablene har enten verdien true eller false avhengig av resultatet av uttrykket til høyre for likehts operatoren. Uttrykket a > b evalueres til true dersom verdien til a er større enn verdien til b, ellers evalueres uttrykket til false. Det samme gjelder operatoren ==, som evalueres til true (sann) dersom høyre side er lik venstre side, og < som evalueres til true dersom høyre sider er større enn venstre side.

Resultatet av programmet kjørt med forskjellige input verdier er gitt nedenfor:

jhb:/java/kode/Kapittel 2 jhb$ javac BooleanEn.java <br>
jhb:/java/kode/Kapittel 2 jhb$ java BooleanEn <br>
Bruk: java BooleanEn a b<br>
Der a og b er et desimaltall<br>
jhb:/home/joachimb/inc_filer/java/kode/Kapittel 2 jhb$ java BooleanEn 2.3 2<br>
a er st&oslash;rre enn b<br>
jhb:/home/joachimb/inc_filer/java/kode/Kapittel 2 jhb$ java BooleanEn 3 4.5<br>
a er mindre enn b<br>
jhb:/home/joachimb/inc_filer/java/kode/Kapittel 2 jhb$ java BooleanEn 3 155.345<br>
a er mindre enn b<br>
jhb:/home/joachimb/inc_filer/java/kode/Kapittel 2 jhb$ java BooleanEn 3 3  <br>
a er lik b

Jeg kommer tilbake til sammenlikninger og kontroll strukturer i <a href="?spraak=java&hkap=3">kapittel 3</a>.

Adaptavist Theme Builder (3.3.5-conf210) Powered by Atlassian Confluence 3.0.2, the Enterprise Wiki.