Java-ope­ra­to­rer­ne AND og OR bruges til at kon­trol­le­re nøj­ag­tig­he­den af be­tin­gel­ser i Java. De to ope­ra­to­rer fungerer meget ens, men adskiller sig i de­tal­jer­ne. I denne artikel forklarer vi alt, hvad du behøver at vide om AND og OR i Java.

Hvad er Java’s AND- og OR-ope­ra­to­rer?

Java-ope­ra­to­rer er vigtige værktøjer til at arbejde med pro­gram­me­rings­spro­get. Der findes for­skel­li­ge typer ope­ra­to­rer til for­skel­li­ge formål. Java’s AND og OR er logiske ope­ra­to­rer, der bruges til at kon­trol­le­re nøj­ag­tig­he­den af en tilstand. De re­tur­ne­rer de**boolske værdier* ‘true’ eller ‘false’. Det er vigtigt at forstå dem for alle, der lærer pro­gram­me­ring.

AND-ope­ra­to­ren i Java evaluerer to be­tin­gel­ser og re­tur­ne­rer kun true, når begge udsagn eller be­tin­gel­ser er sande. Ellers re­tur­ne­rer den false. Ope­ra­to­ren udtrykkes med &&. OR-ope­ra­to­ren i Java evaluerer også to be­tin­gel­ser. Den re­tur­ne­rer true, når et eller begge udsagn eller be­tin­gel­ser er sande. Den re­tur­ne­rer kun false, hvis begge udsagn er falske. Den udtrykkes ved hjælp af ||.

Syntaksen for de to ope­ra­tio­ner ser således ud:

statement1 operator statement2
java

Nedenfor ser vi på et par praktiske eksempler, der viser, hvordan Java’s AND- og OR-ope­ra­to­rer bruges.

Sådan bruges AND-ope­ra­to­ren i Java

Java’s AND-operator bruges til at vurdere, om to udsagn begge er sande. Dens syntaks ser således ud:

statement1 && statement2
java

Den udgiver true, hvis begge be­tin­gel­ser er sande. Hvis en eller begge be­tin­gel­ser er falske, udgiver den false.

I vores første eksempel giver vi systemet to enkle udsagn og bruger Java-kom­man­do­en System.out.println til at returnere en boolsk værdi:

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

Systemet vurderer først, om værdien 3 er større end 1. Det er den. Derefter vurderer det sandheden i udsagnet ‘3<7’. Dette er også sandt. Da begge udsagn er sande, udgiver det ‘sand’.

Lad os nu se, hvad der sker, når den ene udsagn er sand, men den anden ikke er. Vi vil foretage en lille ændring i oven­stå­en­de eksempel:

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

Igen vil systemet først evaluere, om værdien 3 er større end 1, og finde ud af, at det er sandt. Denne gang er den anden be­tin­gel­se imid­ler­tid ikke sand. Da begge be­tin­gel­ser ikke er sande, vil systemet returnere false.

I vores tredje eksempel vil eva­lu­e­rin­gen være endnu kortere. Da den første be­tin­gel­se ikke er opfyldt, ser systemet ikke engang på den anden be­tin­gel­se. I stedet udskriver det blot false:

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

Sådan bruges OR-ope­ra­to­ren i Java

Javas OR-operator evaluerer også to be­tin­gel­ser. Dens syntaks ser således ud:

statement1 || statement2
java

I mod­sæt­ning til AND-ope­ra­to­ren re­tur­ne­rer OR-ope­ra­to­ren true, hvis mindst én af de to udsagn er sand. Den re­tur­ne­rer også true, hvis begge udsagn er sande. Den re­tur­ne­rer kun false, hvis ingen af udsagnene er sande. Nedenfor il­lu­stre­rer vi, hvordan dette fungerer, med et par enkle eksempler.

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

Systemet re­tur­ne­rer true for dette eksempel. Da den første sætning er sand, er be­tin­gel­sen for OR-ope­ra­to­ren opfyldt. Indtil videre ligner dette AND-ope­ra­to­ren.

Nu skal vi se på et eksempel, hvor OR begynder at adskille sig fra AND:

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

Den første udsagn er sand, da 3 er større end 1. Den anden udsagn er dog ikke sand, da 3 ikke er større end 7. Da en af de to udsagn er sand, vil systemet returnere true.

Vi får kun et output på false, når ingen af be­tin­gel­ser­ne er opfyldt, som det er tilfældet nedenfor:

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

I dette eksempel ser systemet på den første sætning og fastslår, at den er falsk. Derefter går det videre til den anden sætning. Hvis den anden sætning var sand, ville re­sul­ta­tet være true. Men da den anden sætning faktisk er falsk, er re­sul­ta­tet false.

Gå til ho­ved­me­nu­en