CHAPTER 15: Expressions Previous
Previous
Java Language
Java Language
Index
Index
Next
Next

15.22 Conditional-And Operator &&

The && operator is like & (S15.21.2), but evaluates its right-hand operand only if the value of its left-hand operand is true . 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)) .


ConditionalAndExpression:

	InclusiveOrExpression

	ConditionalAndExpression && InclusiveOrExpression

Each operand of && must be of type boolean , or a compile-time error occurs. The type of a conditional-and expression is always boolean .

At run time, the left-hand operand expression is evaluated first; if its value is false , the value of the conditional-and expression is false and the right-hand operand expression is not evaluated. If the value of the left-hand operand is true , then the right-hand expression is evaluated and its value becomes the value of the conditional-and 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.

Top© 1996 Sun Microsystems, Inc. All rights reserved.