CHAPTER 15: Expressions |
![]() Previous |
![]() Java Language |
![]() Index |
![]() Next |
The || operator is like | (S15.21.2), but evaluates its right-hand operand only if the value of its left-hand operand is false . It is syntactically left-associative (it groups left-to-right). It is fully associative with respect to both side effects and result value; that is, for any expressions a, b, and c, evaluation of the expression (( a)||( b))||( c) produces the same result, with the same side effects occurring in the same order, as evaluation of the expression ( a)||(( b)||( c)) .
ConditionalOrExpression: ConditionalAndExpression ConditionalOrExpression || ConditionalAndExpression
Each operand of || must be of type boolean, or a compile-time error occurs. The type of a conditional-or expression is always boolean .
At run time, the left-hand operand expression is evaluated first; if its value is true
, the value of the conditional-or expression is true
and the right-hand operand expression is not evaluated. If the value of the left-hand operand is false
, then the right-hand expression is evaluated and its value becomes the value of the conditional-or expression. Thus, ||
computes the same result as |
on boolean
operands. It differs only in that the right-hand operand expression is evaluated conditionally rather than always.
![]() | © 1996 Sun Microsystems, Inc. All rights reserved. |