Java-boolet ovat yksi oh­jel­moin­ti­kie­len pri­mi­tii­vis­ten tie­to­tyyp­pien joukosta. Booli on to­tuusar­vo, jolla voi olla vain yksi kahdesta mah­dol­li­ses­ta arvosta, yleensä “true” tai “false”. Boolet ovat Java-kielessä useiden ko­men­to­jen ja toi­min­to­jen perusta. Tässä ope­tus­oh­jel­mas­sa tar­kas­te­lem­me tarkemmin niiden toimintaa muutaman esimerkin avulla.

Mitä ovat Java-boolit?

Boolen arvot, jotka on nimetty englan­ti­lai­sen ma­te­maa­ti­kon George Boolein mukaan, ovat algebran ele­ment­te­jä, jotka kuvaavat muuttujaa, jolla voi olla vain tietty määrä arvoja. Oh­jel­moin­nis­sa pe­ri­aa­tet­ta käytetään logiikan luomiseen ja so­vel­luk­sen suo­ri­tuk­sen lin­kit­tä­mi­seen ehtoon. Jos ehto täyttyy (eli jos se on tosi), sovellus suo­ri­te­taan. Jos ehto ei täyty, so­vel­lus­ta ei suoriteta.

Oh­jel­moin­ti­kie­liä käy­tet­täes­sä on paljon ti­lan­tei­ta, joissa on vain kaksi mah­dol­lis­ta tilaa. Esi­merk­ke­jä ovat vaih­toeh­dot päällä ja pois päältä, vas­tauk­set kyllä ja ei sekä arvot totta ja epätotta. Oh­jel­moin­ti­kiel­tä opis­kel­les­sa käy nopeasti selväksi, kuinka tärkeitä boolen arvot ovat. On lu­ke­mat­to­mia pro­ses­se­ja, jotka pe­rus­tu­vat aja­tuk­seen, että jom­pi­kum­pi kahdesta tilasta toteutuu. Näin on esi­mer­kik­si silloin, kun päätetään, suo­ri­te­taan­ko Java-komento tilan pe­rus­teel­la. Boolen arvot ovat tyy­pil­li­ses­ti täl­lai­sis­sa teh­tä­vis­sä käytetty tie­to­tyyp­pi.

Java-boolen luominen

Java-boolen luominen on helppoa. Syntaksi on seuraava:

boolean booleanexample1 = true;
boolean booleanexample2 = false;
java

Seu­raa­vas­sa pe­rus­e­si­mer­kis­sä näemme, kuinka boolen arvo luodaan ja pa­lau­te­taan. Mää­ri­tel­lään kaksi arvoa, yksi totta ja yksi epätotta:

public class Main {
	public static void main(String[] args) {
		boolean x = true;
		boolean y = false;
		System.out.println(x);
		System.out.println(y);
	}
}
java

Tulostus näyttää seu­raa­val­ta:

true
false
java

Java-boolien käyttö if-else-lauseissa

Käy­tän­nös­sä Java-boolenit käytetään yhdessä muiden lauseiden kanssa mää­rit­te­le­mään, että ar­vioin­nin tuloksen on oltava boo­le­ni­nen arvo. Kat­so­taan­pa, miten tämä toimii if-else-lauseiden kanssa.

public class Main {
	public static void main(String[] args) {
		int x = 5;
		int y = 10;
		boolean x1 = true;
		boolean y1 = false;
		if (y > x) {
			System.out.println("The condition is: " + x1);
		}
		else {
			System.out.println("The condition is: " +y1);
		}
	}
}
java

Tässä ta­pauk­ses­sa tulos on:

The condition is: true
java

Java-boolien käyttö while-sil­mu­kas­sa

Java-boolenit voidaan myös yhdistää while-sil­mu­koi­hin. While-silmukat suo­ri­te­taan niin kauan kuin arvo on tosi. Kun tämä ei enää ole totta, silmukka päättyy.

Esi­mer­kis­säm­me alustamme arvon x arvoksi 10 ja oh­jeis­tam­me jär­jes­tel­mää suo­rit­ta­maan silmukan, kun arvo on pienempi tai yhtä suuri kuin 20. Jo­kai­sel­la ite­raa­tiol­la arvo kasvaa yhdellä, minkä mer­kit­sem­me ink­re­ment­tio­pe­raat­to­ril­la ++. Näin se näyttää käy­tän­nös­sä:

public class Main {
	public static void main(String[] args) {
		int x = 10;
		while (x <= 20) {
			System.out.println(x);
			x++;
		}
	}
}
java

Tulostus näyttää seu­raa­val­ta:

10
11
12
13
14
15
16
17
18
19
20
java

Kun muuttuja x saavuttaa arvon 21, silmukka lo­pe­te­taan.

Boolen lausek­keen käyttö

Monissa ta­pauk­sis­sa boolean-arvon luomisen sijaan voit käyttää boolean-lause­ket­ta. Boolean-lausek­keet nou­dat­ta­vat samaa logiikkaa, mutta ovat lyhyempiä ja sel­keäm­piä. Näimme jo yhden esi­merk­ki­nä yllä Java-ope­raat­to­rin <= (pienempi tai yhtä suuri kuin) kanssa.

Seu­raa­vas­sa esi­mer­kis­sä ku­vi­tel­laan, että koulu julistaa lu­mi­päi­vän, jos lunta on yli 5 tuumaa. Jos lunta on 5 tuumaa tai vähemmän, koulu pidetään nor­maa­lis­ti. Koodi tälle näyttää seu­raa­val­ta:

public class Main {
	public static void main(String[] args) {
		int currentsnow = 3;
		int snowlimit = 5;
		if (currentsnow <= snowlimit) {
			System.out.println("School is in session.");
		} 	else {
			System.out.println("School is canceled.");
		}
	}
}
java

Tulostus näyttää seu­raa­val­ta:

School is in session.
java
Siirry pää­va­lik­koon