Q:

Difference between OR operator || and | in Java?

Possible Duplicate:
Why do we usually use || not |, what is the difference? 

Can any one explain the difference between and usage of OR operator ( ||  and | ) in java. thanks
e.g: 
if(a || b) {
// Do something.
}

and
if(a | b) {
// Do something.
}

A:

This is simple. http://www.roseindia.net/help/java/o/java-operator.shtml says:

OR operator is a kind of a conditional operators, which is represented
  by | symbol. It returns either true or false value based on the state
  of the variables i.e. the operations using conditional operators are
  performed between the two boolean expressions.
The OR operator (|) is similar to the Conditional-OR operator (||) and
  returns true, if one or another of its operand is true.

Note: In || operator if have more than one condition and if first condition return true then other conditions ignored but in | operator all condition examin.
There are more information on http://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html

A:

The first one is a logical or. Both sides of the operator are handled as boolean values and it results in a boolean. In case the variables in question are not boolean themselves they become false if they are 0 or null.
The second one is a bit-wise or operator. This one usually only works with integer numbers. I compares the two values bit by bit and gives the resulting number. For example:
5   | 6   = 7    (decimal)
101 | 110 = 111  (binary)

For further details have a look at Wikipedia: Logical disjunction

