1. Booleaanse logica

In Java kunt u de expressie niet schrijven 18 < age <65. Dat is een onjuiste syntaxis en het programma zal niet compileren.

Maar je kunt het zo schrijven:

(18 < age) AND (age < 65)

Natuurlijk zou er in plaats van het woord een logische operatorAND zijn . We zullen er nu in meer detail over praten.

Er zijn drie logische operatoren in Java: AND(&&), OR(||) en NOT(!).

Het goede nieuws is dat u haakjes kunt gebruiken om logische uitdrukkingen van elke complexiteit te construeren.

Het slechte nieuws is dat Java-ontwikkelaars besloten om de notatie uit de C-taal te gebruiken in plaats van de woorden and, oren not.

Kijk naar het scherm:

Logische operator Verwachting Realiteit
AND (∧) and &&
OR (∨) or ||
NOT (¬) not !

Hier volgen enkele voorbeelden van het gebruik van logische operatoren in Java:

Uitdrukking Interpretatie Uitleg
(0 < a) && (a < 100)
(0 < a) and (a < 100)
(0 < a) AND (a < 100)
(!a) && (!b)
(not a) and (not b)
(NOT a) AND (NOT b)
!(!a || !b)
not((not a) or (not b))
NOT((NOT a) OR (NOT b))


2. Voorbeelden van het gebruik van vergelijkingsoperatoren en booleaanse variabelen

Overal waar u een logische uitdrukking kunt schrijven, kunt u een logische variabele schrijven.

Voorbeeld:

Code Uitleg
int age = 35;
if (age >= 18 && age <= 65)
   System.out.println("You can work");
Als de waarde van leeftijd tussen 18en ligt 65, wordt de zin "Je kunt werken" weergegeven.
int age = 35;
boolean isYoung = (age < 18);
if (!isYoung && age <= 65)
   System.out.println("You can work");
We hebben een isYoungvariabele gemaakt en het eerste deel van de uitdrukking erin verplaatst. We hebben het gewoon vervangen age >= 18door age < 18.
int age = 35;
boolean isYoung = (age < 18);
boolean isOld = (age > 65);
if (!isYoung && !isOld)
   System.out.println("You can work");
We hebben een isOld-variabele gemaakt en het tweede deel van de uitdrukking erin verplaatst. Bovendien hebben we vervangen age <= 65door age > 65.

Deze drie voorbeelden zijn equivalent. ifAlleen in het tweede voorbeeld hebben we een deel van de uitdrukking van het statement naar een aparte booleaanse variabele ( ) verplaatst isYoung. In het derde voorbeeld hebben we het tweede deel van de uitdrukking verplaatst naar een tweede variabele ( isOld).



3. Logische rekenkunde

Laten we kort de logische bewerkingen doornemen.

De ANDoperator is , ook wel conjunctie&& genoemd .

Uitdrukking Resultaat
true && true
true
true && false
false
false && true
false
false && false
false

Met andere woorden, het resultaat van een uitdrukking is truealleen als beide waarden waaruit de uitdrukking bestaat true. Anders is het altijd false.

De ORoperator is ||, ook wel bekend als disjunctie .

Uitdrukking Resultaat
true || true
true
true || false
true
false || true
true
false || false
false

Met andere woorden, het resultaat van een uitdrukking is altijd trueals ten minste één term in de uitdrukking is true. Als beide zijn false, dan is het resultaat false.

De NOToperator is !, ook wel bekend als de logische inverse .

Uitdrukking Resultaat
!true
false
!false
true

De operator wisselt truenaar falseen vice versa.

Bruikbare uitdrukkingen:

Uitdrukking Resultaat
m && !m
false
m || !m
true
!(a && b)
!a || !b
!(a || b)
!a && !b