1. Boolsk logik

I Java kan du ikke skrive udtrykket 18 < age <65. Det er forkert syntaks, og programmet vil ikke kompilere.

Men du kan skrive det sådan her:

(18 < age) AND (age < 65)

I stedet for ordet ANDville der selvfølgelig være en logisk operator . Vi vil tale om dem mere detaljeret nu.

Der er tre logiske operatorer i Java: AND(&&), OR(||) og NOT(!).

Den gode nyhed er, at du kan bruge parenteser til at konstruere logiske udtryk for enhver kompleksitet.

Den dårlige nyhed er , at Java-udviklere besluttede at bruge notation fra C-sproget i stedet for ordene andog or.not

Se på skærmen:

Logisk operator Forventning Virkelighed
AND (∧) and &&
OR (∨) or ||
NOT (¬) not !

Her er nogle eksempler på brug af logiske operatorer i Java:

Udtryk Fortolkning Forklaring
(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. Eksempler på brug af sammenligningsoperatorer og booleske variable

Uanset hvor du kan skrive et logisk udtryk, kan du skrive en logisk variabel.

Eksempel:

Kode Forklaring
int age = 35;
if (age >= 18 && age <= 65)
   System.out.println("You can work");
Hvis værdien af ​​alder er mellem 18og 65, så vises sætningen "Du kan arbejde".
int age = 35;
boolean isYoung = (age < 18);
if (!isYoung && age <= 65)
   System.out.println("You can work");
Vi oprettede en isYoungvariabel og flyttede den første del af udtrykket ind i den. Vi erstattede simpelthen 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 oprettede en isOld-variabel og flyttede den anden del af udtrykket ind i den. Derudover erstattede vi age <= 65med age > 65.

Disse tre eksempler er ækvivalente. Først i det andet eksempel flyttede vi en del af udtrykket fra sætningen iftil en separat boolsk variabel ( isYoung). I det tredje eksempel flyttede vi den anden del af udtrykket til en anden variabel ( isOld).



3. Logisk aritmetik

Lad os kort gennemgå logiske operationer.

Operatøren ANDer &&også kendt som konjunktion .

Udtryk Resultat
true && true
true
true && false
false
false && true
false
false && false
false

Med andre ord er resultatet af et udtryk truekun, hvis begge værdier, der udgør udtrykket, er true. Ellers er det altid false.

Operatøren ORer ||også kendt som disjunction .

Udtryk Resultat
true || true
true
true || false
true
false || true
true
false || false
false

Med andre ord er resultatet af et udtryk altid, truehvis mindst et led i udtrykket er true. Hvis begge er false, så er resultatet false.

Operatoren NOTer !også kendt som den logiske inverse .

Udtryk Resultat
!true
false
!false
true

Operatøren skifter truetil falseog omvendt.

Nyttige udtryk:

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