And Operator

For Boolean expressions, returns “false” if one or more expressions are false. For integer expressions, it does a bitwise AND operation.

Syntax

expression_1 And expression_2

Parts

expression_1
A Boolean or integer expression.
expression_2
A Boolean or integer expression.

Instructions

For Boolean expressions, the result is true only if expression_1 is true and expression_2 is true at the same time. The table that follows shows how to find this result.

Truth table for expression_1 And expression_2
If expression_1 is And expression_2 is Then the result is
TrueTrueTrue
TrueFalseFalse
FalseTrueFalse
FalseFalseFalse

Note: The operator And always evaluates the two expressions. This includes procedure calls, which can have side effects. A different operator, And Then, does not evaluate the second expression if the first is true.

For bitwise operations, the operator And compares each bit at the same position in the two numeric expressions. The table that follows shows how to calculate the bit in the result.

Bitwise operation of expression_1 And expression_2
If the bit in expression_1 is And the bit in expression_2 is Then the bit in the result is
111
100
010
000

Note: The logical and bitwise operators have lower precedence than the arithmetic and relational operators. Thus, we recommend that you put parentheses around bitwise operations to make sure they give correct results.

Examples

Example 1

Var a = 5, b = 10, c = 15
Var test1 = a < b And b < c
Var test2 = a > b And b < c
After run
VariableValue
test1 True
test2 False

Example 2

var a = 5, b = 10, c = 15
Var a_and_b = a And b
Var a_and_c = a And c
Var b_and_c = b And c
After run
VariableValue
a  5 (00000101)
b 10 (00001010)
c 15 (00001111)
a_and_b  0 (00000000)
a_and_c 5 (00000101)
b_and_c 10 (00001010)

See also