1. Boolesk logik

I Java kan du inte skriva uttrycket 18 < age <65. Det är felaktig syntax och programmet kommer inte att kompilera.

Men du kan skriva så här:

(18 < age) AND (age < 65)

Naturligtvis, istället för ordet AND, skulle det finnas en logisk operator . Vi kommer att prata om dem mer i detalj nu.

Det finns tre logiska operatorer i Java: AND(&&), OR(||) och NOT(!).

Den goda nyheten är att du kan använda parenteser för att konstruera logiska uttryck av vilken komplexitet som helst.

Den dåliga nyheten är att Java-utvecklare bestämde sig för att använda notation från C -språket istället för orden och and.ornot

Kolla på skärmen:

Logisk operatör Förväntan Verklighet
AND (∧) and &&
OR (∨) or ||
NOT (¬) not !

Här är några exempel på hur du använder logiska operatorer i Java:

Uttryck Tolkning Förklaring
(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. Exempel på användning av jämförelseoperatorer och booleska variabler

Varhelst du kan skriva ett logiskt uttryck kan du skriva en logisk variabel.

Exempel:

Koda Förklaring
int age = 35;
if (age >= 18 && age <= 65)
   System.out.println("You can work");
Om värdet på ålder är mellan 18och 65, så visas frasen "Du kan arbeta".
int age = 35;
boolean isYoung = (age < 18);
if (!isYoung && age <= 65)
   System.out.println("You can work");
Vi skapade en isYoungvariabel och flyttade in den första delen av uttrycket. Vi ersatte helt enkelt age >= 18med age < 18.
int age = 35;
boolean isYoung = (age < 18);
boolean isOld = (age > 65);
if (!isYoung && !isOld)
   System.out.println("You can work");
Vi skapade en isOld-variabel och flyttade in den andra delen av uttrycket. Dessutom ersatte vi age <= 65med age > 65.

Dessa tre exempel är likvärdiga. Först i det andra exemplet flyttade vi en del av uttrycket från ifsatsen till en separat boolesk variabel ( ) isYoung. I det tredje exemplet flyttade vi den andra delen av uttrycket till en andra variabel ( ) isOld.



3. Logisk aritmetik

Låt oss kort gå igenom logiska operationer.

Operatören ANDär &&även känd som konjunktion .

Uttryck Resultat
true && true
true
true && false
false
false && true
false
false && false
false

Med andra ord, resultatet av ett uttryck är trueendast om båda värdena som utgör uttrycket är true. Annars är det alltid false.

Operatören ORär ||även känd som disjunktion .

Uttryck Resultat
true || true
true
true || false
true
false || true
true
false || false
false

Med andra ord, resultatet av ett uttryck är alltid trueom minst en term i uttrycket är true. Om båda är det falseså är resultatet false.

Operatören NOTär !, även känd som den logiska inversen .

Uttryck Resultat
!true
false
!false
true

Operatören byter truetill falseoch vice versa.

Användbara uttryck:

Uttryck Resultat
m && !m
false
m || !m
true
!(a && b)
!a || !b
!(a || b)
!a && !b