Java-ope­raat­to­rei­ta AND ja OR käytetään ehtojen tark­kuu­den tar­kis­ta­mi­seen Java-kielessä. Nämä kaksi ope­raat­to­ria toimivat hyvin sa­man­kal­tai­ses­ti, mutta eroavat toi­sis­taan yk­si­tyis­koh­dis­sa. Tässä ar­tik­ke­lis­sa selitämme kaiken, mitä sinun tarvitsee tietää AND- ja OR-ope­raat­to­reis­ta Java-kielessä.

Mitkä ovat Javan AND- ja OR-ope­raat­to­rit?

Java-ope­raat­to­rit ovat tärkeitä työkaluja oh­jel­moin­ti­kie­len käytössä. Eri tar­koi­tuk­siin on olemassa erilaisia ope­raat­to­rei­ta. Java-kielen AND ja OR ovat loogisia ope­raat­to­rei­ta, joita käytetään tilan tark­kuu­den tar­kis­ta­mi­seen. Ne pa­laut­ta­vat**Boolean-arvot* “true” tai “false”. Niiden ym­mär­tä­mi­nen on tärkeää kaikille oh­jel­moin­tia opis­ke­le­vil­le.

Java-kielessä AND-ope­raat­to­ri arvioi kaksi ehtoa ja palauttaa true vain, jos molemmat lauseet tai ehdot ovat totta. Muussa ta­pauk­ses­sa se palauttaa false. Ope­raat­to­ri il­mais­taan numerolla &&. Java-kielessä OR-ope­raat­to­ri arvioi myös kaksi ehtoa. Se palauttaa true, jos yksi tai molemmat lauseet tai ehdot ovat totta. Se palauttaa false vain, jos molemmat lauseet ovat epätosia. Se il­mais­taan numerolla ||.

Kahden ope­raa­tion syntaksi on seuraava:

statement1 operator statement2
java

Seu­raa­vas­sa tar­kas­te­lem­me muutamia käytännön esi­merk­ke­jä, jotka osoit­ta­vat, miten Java-kielessä käytetään AND- ja OR-ope­raat­to­rei­ta.

Kuinka käyttää AND-ope­raat­to­ria Java-kielessä

Java-kielessä AND-ope­raat­to­ria käytetään ar­vioi­maan, ovatko kaksi lausetta molemmat totta. Sen syntaksi on seu­raa­van­lai­nen:

statement1 && statement2
java

Se tulostaa true, jos molemmat ehdot ovat totta. Jos toinen tai molemmat ehdot ovat epätosia, se tulostaa false.

En­sim­mäi­ses­sä esi­mer­kis­sä annamme jär­jes­tel­mäl­le kaksi yk­sin­ker­tais­ta lausetta ja käytämme Java-komentoa System.out.println boolean-arvon pa­laut­ta­mi­seen:

public class Main {
	public static void main(String[] args) {
		int x = 3;
		System.out.println(x > 1 && x < 7);
	}
}
java

Jär­jes­tel­mä arvioi ensin, onko arvo 3 suurempi kuin 1. Se on. Sitten se arvioi lauseen “3<7” totuuden. Tämäkin on totta. Koska molemmat lauseet ovat totta, se tuottaa tu­lok­sek­si “tosi”.

Kat­so­taan­pa nyt, mitä tapahtuu, kun toinen lause on totta, mutta toinen ei. Teemme pienen muutoksen yllä olevaan esi­merk­kiin:

public class Main {
	public static void main(String [] args) {
		int x = 3;
		System.out.println(x > 1 && x > 7);
	}
}
java

Jälleen jär­jes­tel­mä arvioi ensin, onko arvo 3 suurempi kuin 1, ja toteaa, että se on totta. Tällä kertaa toinen ehto ei kui­ten­kaan ole totta. Koska kumpikaan ehto ei ole totta, jär­jes­tel­mä palauttaa false.

Kol­man­nes­sa esi­mer­kis­sä arviointi on vieläkin lyhyempi. Koska en­sim­mäi­nen ehto ei täyty, jär­jes­tel­mä ei edes tar­kas­te­le toista ehtoa. Sen sijaan se tulostaa vain false:

public class Main {
	public static void main(String [] args) {
		int x = 3;
		System.out.println(x > 3 && x < 7);
	}
}
java

OR-ope­raat­to­rin käyttö Java-kielessä

Myös Javan OR-ope­raat­to­ri arvioi kaksi ehtoa. Sen syntaksi on seu­raa­van­lai­nen:

statement1 || statement2
java

Toisin kuin AND-ope­raat­to­ri, OR-ope­raat­to­ri palauttaa true, jos vähintään toinen kahdesta lauseesta on totta. Se palauttaa myös true, jos molemmat lauseet ovat totta. Se palauttaa false vain, jos kumpikaan lauseista ei ole totta. Seu­raa­vas­sa ha­vain­nol­lis­tam­me tämän toimintaa muu­ta­mal­la yk­sin­ker­tai­sel­la esi­mer­kil­lä.

public class Main {
	public static void main(String [] args) {
		int x = 3;
		System.out.println(x > 1 || x < 7);
	}
}
java

Jär­jes­tel­mä palauttaa tässä esi­mer­kis­sä true. Koska en­sim­mäi­nen lause on totta, OR-ope­raat­to­rin ehto täyttyy. Tähän asti tämä näyttää melko sa­man­lai­sel­ta kuin AND-ope­raat­to­ri.

Seu­raa­vak­si tar­kas­te­lem­me esi­merk­kiä, jossa OR alkaa poiketa AND:sta:

public class Main {
	public static void main(String [] args) {
		int x = 3;
		System.out.println(x > 1 || x > 7);
	}
}
java

En­sim­mäi­nen väittämä on totta, koska 3 on suurempi kuin 1. Toinen väittämä ei kui­ten­kaan ole totta, koska 3 ei ole suurempi kuin 7. Koska toinen väit­tä­mis­tä on totta, jär­jes­tel­mä palauttaa true.

Saamme tu­lok­sek­si false vain, jos kumpikaan ehto ei täyty, kuten alla olevassa ta­pauk­ses­sa:

public class Main {
	public static void main(String [] args) {
		int x = 3;
		System.out.println(x > 3 || x > 7);
	}
}
java

Tässä esi­mer­kis­sä jär­jes­tel­mä tar­kas­te­lee en­sim­mäis­tä lausetta ja määrittää sen vääräksi. Sitten se siirtyy toiseen lausee­seen. Jos toinen lause olisi totta, tulos olisi true. Koska toinen lause on kuitenkin väärä, tulos on false. ff84691074d58101aec4c19b26479731

Siirry pää­va­lik­koon