4.4 LOGIČKI OPERATORI

                             

Logički operatori rade samo sa operandima tipa boolean. Svi logički operatori nad dva operanda kombinuju dve vrijednosti tipa boolean, da bi dali rezultat, takođe tipa boolean.
 

Operator

Rezultat

&

Logička konjukcija (AND –i)

|

Logička disjunkcija (OR – ili)

^

Logička isključiva disjunkcija (isključivo OR ili XOR – isključivo ili)

||

Kratkospojena disjunkcija

&&

Kratkospojena konjukcija

!

Logička unarna negacija (NOT – ne)

&=

Dodjeljivanje uz logičku konjukciju

|=

Dodjeljivanje uz logičku disjunkciju

^=

Dodjeljivanje uz logičku isključivu disjunkciju

==

Jednako

!=

Različito

?:

Trojni operator uslovne dodjele

 

Logički operatori &, | i ^ rade sa vrijednostima tipa boolean na isti način kao sa bitovima cijelih brojeva. Logički operator ! invertuje vrijednost: !true == false i !false == true.

 

Tabelarni prikaz efekata svakog od logičkih operatora

 

A

B

A|B

A&B

A^B

!A

false

false

false

false

false

true

true

false

true

false

true

false

false

true

true

false

true

true

true

true

true

true

false

false

Ilustrovanje rada logičkih operatora

Opis rješenja: Nakon izvršavanja programa podatke tipa boolean Java predstavlja znakovnim literalima true i false.

a = true

b = false

a|b  = true

a&b = false

a ^ b = true

!a&b|a&!b = true

!a = false

 

Listing programa:

 

class BoolLogika {

     public static void main(String args[]) {

        boolean a = true;

        boolean b = false;

        boolean c = a | b;

        boolean d = a & b;

        boolean e = a ^ b;

        boolean f = (!a & b) | (a & !b);

        boolean g =  !a;

        System.out.println("              a = " +  a );

        System.out.println("              b = " +  b );

        System.out.println("            a|b = " +  c );

        System.out.println("          a&b = " +  d );

        System.out.println("         a ^ b = " +  e );

        System.out.println("!a&b|a&!b = " +  f );

        System.out.println("              !a = " +  g );

    }

}