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