1. Boolsk logikk

I Java kan du ikke skrive uttrykket 18 < age <65. Det er feil syntaks og programmet vil ikke kompilere.

Men du kan skrive det slik:

(18 < age) AND (age < 65)

Selvfølgelig, i stedet for ordet AND, ville det være en logisk operator . Vi vil snakke om dem mer detaljert nå.

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

Den gode nyheten er at du kan bruke parenteser til å konstruere logiske uttrykk for enhver kompleksitet.

Den dårlige nyheten er at Java-utviklere bestemte seg for å bruke notasjon fra C-språketand i stedet for ordene orog not.

Se på skjermen:

Logisk operatør Forventning Virkelighet
AND (∧) and &&
OR (∨) or ||
NOT (¬) not !

Her er noen eksempler på bruk av logiske operatorer i Java:

Uttrykk Tolkning 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å bruk av sammenligningsoperatorer og boolske variabler

Uansett hvor du kan skrive et logisk uttrykk, kan du skrive en logisk variabel.

Eksempel:

Kode Forklaring
int age = 35;
if (age >= 18 && age <= 65)
   System.out.println("You can work");
Hvis verdien av alder er mellom 18og 65, vises uttrykket "Du kan jobbe".
int age = 35;
boolean isYoung = (age < 18);
if (!isYoung && age <= 65)
   System.out.println("You can work");
Vi opprettet en isYoungvariabel og flyttet den første delen av uttrykket inn i den. Vi byttet rett og slett ut 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 opprettet en isOld-variabel og flyttet den andre delen av uttrykket inn i den. I tillegg erstattet vi age <= 65med age > 65.

Disse tre eksemplene er likeverdige. Først i det andre eksemplet flyttet vi en del av uttrykket fra setningen iftil en egen boolsk variabel ( isYoung). I det tredje eksemplet flyttet vi den andre delen av uttrykket til en annen variabel ( isOld).



3. Logisk aritmetikk

La oss kort gå gjennom logiske operasjoner.

Operatøren ANDer &&også kjent som konjunksjon .

Uttrykk Resultat
true && true
true
true && false
false
false && true
false
false && false
false

Med andre ord, resultatet av et uttrykk er truebare hvis begge verdiene som utgjør uttrykket er true. Ellers er det alltid false.

Operatøren ORer ||også kjent som disjunksjon .

Uttrykk Resultat
true || true
true
true || false
true
false || true
true
false || false
false

Med andre ord, resultatet av et uttrykk er alltid truehvis minst ett ledd i uttrykket er true. Hvis begge er det false, er resultatet false.

Operatoren NOTer !også kjent som den logiske inversen .

Uttrykk Resultat
!true
false
!false
true

Operatøren endres truetil falseog omvendt.

Nyttige uttrykk:

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