Tõeväärtus-andmetüübid

Tõeväärtus (boolean) on primitiivne andmetüüp, millel saab olla vaid kaks väärtust: tõene (true) ja väär (false).

Väärtustamine

Väärtustada võib lihtsalt andes muutujale väärtuse:

boolean isHappy = true;

Keerukam väärtustamine:

boolean isWetAndCold = temperature > 0 && temperature < 10; // returns true if temperature is between 0 and 10

Ahvatlev on kirjutada näiteks "boolean a = 10 < x < 20", et näha, kas x on 10 ja 20 vahel. See aga ei tööta, sest iga < operaator peab saama enda kaks väärtust. Õige on kirjutada "boolean a = 10 < x && x < 20"

Põhioperatsioonid

&& - AND (tõene ainult, kui mõlemad pooled on tõesed)

|| - OR (tõene, kui vähemalt üks pooltest on tõene)

! - NOT (inversioon)

P

Q

P && Q

P || Q

!P

T

T

T

T

F

T

F

F

T

F

F

T

F

T

T

F

F

F

F

T

Stiil

Kehv stiil on võrrelda tingimust false või true'ga:

Kehv stiil

Parem stiil

if (isHappy == true) {
    System.out.println("This is poor style.");
}
if (isHappy) {
    System.out.println("This is better style.");
}
if (isHappy == false) {
    System.out.println("This is poor style.");
}
if (!isHappy) {
    System.out.println("This is better style.");
}

Tingimuslaused

if/while/for jne konstruktsioonid kasutavad boolean väärtust, et otsustada, kas käivitada mingit koodiosa. Seal kasutatav kontroll võib olla kas lihtne boolean muutuja väärtuse kontroll või mingi keerukam avaldis (aga selle tulemus peab ikka olema kas true või false).

if (score < 0 || score > 100) {
    System.out.println("Score has an illegal value.");
}

Meetodid

Boolean on primitiivse andmetüübi boolean wrapper. Boolean (suure algustähega) on objekt, väikese algustähega boolean on aga primitiivne andmetüüp. Esimesega kaasneb rohkem meetodeid, teine aga hoiab mälu kokku.

Booleani väärtus võib olla true, false või null, booleani väärtus ainult kas true või false.

Näiteks:

boolean result = Boolean.TRUE;
Boolean result = true;

Sisuliselt kompilaator teeb:

Boolean result = Boolean.valueOf(true);

compare(boolean x, boolean y)

Võrdleb kahte tõeväärtust (boolean) teineteisega. Tagastusväärtus on täisarv (integer). Tagastatakse:

  • 0 kui x == y

  • -1 kui !x && y

  • 1 kui x && !y

logicalAnd(boolean a, boolean b)

Tagastusväärtus on boolean. Tagastab true ainult siis, kui mõlemad argumendid on tõesed.

logicalOr(boolean a, boolean b)

Tagastusväärtus on boolean. Tagastab true siis, kui vähemalt üks argumentidest on tõene.

logicalXor(boolean a, boolean b)

Tagastusväärtus on boolean. Tagastab false ainult siis, kui mõlemad argumendid on kas tõesed või väärad. Muul juhul tagastab true.

valueOf(boolean b)

Tagastab Boolean instantsi, mis väljendab booleani väärtust. Kui boolean on true, siis tagastatakse sõne "true", muul juhul "false".

Boolean b = true;
String str = String.valueOf(b);

System.out.println(str); // prints "true"

toString(boolean b)

Muudab tõeväärtuse sõneks. Tuleks kasutada siis, kui ollakse kindel, et booleani väärtus ei ole null. Vastasel juhul viskab NullPointerException'i. Tagastab sõne objekti, mis väljendab booleani väärtust.

Boolean b = true;
String str = Boolean.toString(b);

System.out.println(str); // prints "true"

Dokumentatsioon: https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html