Java-ope­ra­to­rer­na AND och OR används för att kon­trol­le­ra vill­ko­rens riktighet i Java. De två ope­ra­to­rer­na fungerar på mycket liknande sätt, men skiljer sig åt när det gäller de­tal­jer­na. I den här artikeln förklarar vi allt du behöver veta om AND och OR i Java.

Vad är Java:s AND- och OR-ope­ra­to­rer?

Java-ope­ra­to­rer är viktiga verktyg för att arbeta med pro­gram­me­rings­språ­ket. Det finns olika typer av ope­ra­to­rer för olika ändamål. Java:s AND och OR är logiska ope­ra­to­rer som används för att kon­trol­le­ra rik­tig­he­ten i ett tillstånd. De re­tur­ne­rar de**booleska värdena* “true” eller “false”. De är viktiga att förstå för alla som lär sig pro­gram­me­ring.

AND-operatorn i Java ut­vär­de­rar två villkor och re­tur­ne­rar true endast när båda satserna eller villkoren är sanna. I annat fall re­tur­ne­rar den false. Ope­ra­tö­ren uttrycks med &&. OR-operatorn i Java ut­vär­de­rar också två villkor. Den re­tur­ne­rar true när en eller båda satserna eller villkoren är sanna. Den re­tur­ne­rar endast false om båda satserna är falska. Den uttrycks med ||.

Syntaxen för de två ope­ra­tio­ner­na ser ut som följer:

statement1 operator statement2
java

Nedan tittar vi på några praktiska exempel som visar hur Javas AND- och OR-ope­ra­to­rer används.

Hur man använder AND-operatorn i Java

Javas AND-operator används för att utvärdera om två satser båda är sanna. Dess syntax ser ut så här:

statement1 && statement2
java

Den ger ut true om båda villkoren är sanna. Om ett eller båda villkoren är falska, ger den ut false.

I vårt första exempel ger vi systemet två enkla ut­ta­lan­den och använder Java-kommandot System.out.println för att returnera ett booleskt värde:

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

Systemet ut­vär­de­rar först om värdet 3 är större än 1. Det är det. Därefter ut­vär­de­rar det san­nings­hal­ten i på­stå­en­det ”3<7”. Även detta är sant. Eftersom båda på­stå­en­de­na är sanna, ger det ut­mat­ning­en ”sant”.

Nu ska vi se vad som händer när det ena på­stå­en­det är sant men det andra inte. Vi ska göra en liten ändring i exemplet ovan:

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

Återigen kommer systemet först att utvärdera om värdet 3 är större än 1 och kon­sta­te­ra att det är sant. Denna gång är dock det andra på­stå­en­det inte sant. Eftersom båda villkoren inte är sanna kommer systemet att returnera false.

I vårt tredje exempel blir ut­vär­de­ring­en ännu kortare. Eftersom det första villkoret inte är uppfyllt tittar systemet inte ens på det andra villkoret. Istället matar det bara ut false:

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

Hur man använder OR-operatorn i Java

Javas OR-operator ut­vär­de­rar också två villkor. Dess syntax ser ut så här:

statement1 || statement2
java

Till skillnad från AND-operatorn re­tur­ne­rar OR-operatorn true om minst ett av de två på­stå­en­de­na är sant. Den re­tur­ne­rar också true om båda på­stå­en­de­na är sanna. Den re­tur­ne­rar endast false om inget av på­stå­en­de­na är sant. Nedan il­lu­stre­rar vi hur detta fungerar med några enkla exempel.

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

Systemet kommer att returnera true för detta exempel. Eftersom det första på­stå­en­det är sant uppfylls villkoret för OR-operatorn. Hittills ser detta ganska likt ut som AND-operatorn.

Nu ska vi titta på ett exempel där OR börjar skilja sig från AND:

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

Det första på­stå­en­det är sant, eftersom 3 är större än 1. Det andra på­stå­en­det är dock inte sant, eftersom 3 inte är större än 7. Eftersom ett av de två på­stå­en­de­na är sant kommer systemet att returnera true.

Vi får endast ut false när ingen av villkoren är uppfyllda, vilket är fallet nedan:

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

I det här exemplet tittar systemet på det första på­stå­en­det och fast­stäl­ler att det är falskt. Sedan går det vidare till det andra på­stå­en­det. Om det andra på­stå­en­det var sant skulle re­sul­ta­tet bli true. Eftersom det andra på­stå­en­det i själva verket är falskt blir re­sul­ta­tet dock false.

Gå till huvudmeny