Boolean logical Operators:
Operator Meaning
-------- -------
& Logical AND
| Logical OR
^ Logical XOR (eXclusive OR)
|| Shoft-circuit OR
&& Short-Circuit AND
! Logical unary NOT
&= AND assignment
|= OR assignment
^= XOR assignment
== Equal to
!= Not equal to
?: Ternary if-then-else
A B A|B A&B A^B !A
--------------------------------------------
F F F F F T
F T T F T T
T F T F T F
T T T T F F
--------------------------------------------
Short Circuit Logical Operators:
--------------------------------
Short-circuit Logical Operators gives result, considering left side value only, and ignoring value of right side of operator.
eg.
//Boolean Logical Operator demo
class blop {
public static void main(String ar[]) {
boolean a= true;
boolean b= false;
boolean s = a & b; //boolean and
System.out.println("a & b = " + s);
boolean t = a | b; //boolean or
System.out.println("a | b = " + t);
boolean u = a ^ b; //boolean xor
System.out.println("a ^ b = " + u);
boolean v = !a; //boolean not
System.out.println("!a = " + v);
boolean w = (a & b) ^ (!a | !b); //boolean mix op.
System.out.println("(a & b) ^ (!a | !b) = " + w);
a &= b; //boolean AND assignment a = a & b value of a is false now
System.out.println("a &= b " + a);
a |= b; //boolean OR assignment a = a | b values of both a and b are false here
System.out.println("a |= b " + a);
a ^= b; //boolean XOR assignment a = a ^ b values of both aand b are false here
System.out.println("a ^= b " + a);
if(a == b)
System.out.println("a == b is true");
if(a != b)
System.out.println("a != b is true");
int x;
x = (a & b) ? 5:2;
System.out.println("x = "+x);
int no=345;
if(x!=0 && no/x >=5)
System.out.println("Yes number is divisible by x = "+x);
}
}
to compile :
c:\myjavaprog>javac blop.java
to run:
c:\myjavaprog>java blop
output:
a & b = false
a | b = true
a ^ b = true
!a = false
(a & b) ^ (!a | !b) = true
a &= b false
a |= b false
a ^= b false
a == b is true
x = 2
Yes number is divisible by x 2
