Logical Operators

Logical operators evaluate the truth of a compound statement. The following table lists logical operators, with their corresponding default operator precedence. Operators with a numerically lower ranking are evaluated before operators with a numerically higher ranking, operators with the same ranking are evaluated left-to-right.

Operator

Description

Precedence Ranking

NOT

Logical NOT, negates the truth of the following conditional statement.

1

~

AND

Logical AND, evaluates true if both preceding and following conditional statements are true.

2

&&

OR

Logical OR, evaluates true if either preceding or following conditional statements (or both) is true.

3

||

Logical NOT (~)

A logical NOT (~) preceding a conditional statement inverts the truth of the conditional statement. It relates to the conditional statement itself, and is not the same as a relational NOT, which relates to the relational operator.

Examples

Example 1

This evaluates true if both expressions are true:

expression1 && expression2

Example 2

This evaluates true if at least one of the expressions is true:

expression1 || expression2

Example 3

This evaluates true if expression1 is true, but expression2 is false:

expression1 ~ expression2

Example 4

This evaluates true if expression1 is false:

~expression1