Boolean Operators — Maple v0.0.11 Documentation

### Navigation

- next
- previous |
- LeafLabs |
- Index »
- Complete Language Index »

# Boolean Operators

These can be used inside the condition of an if statement. Evaluate to true or false.

Contents

- && (logical and)
- || (logical or)
- ! (logical not)
- Some Advice
- See Also

## && (logical and)

True only if both operands are true. For example:

    if (digitalRead(2) == HIGH  && digitalRead(3) == HIGH) { // read two switches
      // ...
    }

is true only if both inputs are high. Another example:

    if (a >= 10 && a <= 20){}   // true if a is between 10 and 20

Be careful not to say `10 <= a <= 20`! This won’t work the way you want. You have to separately test whether `a` is at least 10 using `a >= 10`, then test whether `a` is at most 20 using `a <= 20`, then combine the results using `&&`.

## || (logical or)

True if either operand is true. For example:

    if (x > 0 || y > 0) {
      // ...
    }

is true if either `x` or `y` is greater than 0.

## ! (logical not)

True if the operand is false. For example:

    if (!x) {
      // ...
    }

is true if `x` is false (i.e. if `x` is zero).

## Some Advice

Warning

Make sure you don’t mistake the boolean AND operator `&&` (double ampersand) for the bitwise AND operator `&` (single ampersand). They are entirely different beasts.

Similarly, do not confuse the boolean OR operator `||` (double pipe) with the bitwise OR operator `|` (single pipe).

The bitwise NOT operator `~` (tilde) looks much different than the boolean not operator `!` (exclamation point, or “bang”, as some programmers say), but you still have to be sure which one you want.

## See Also

- Bitwise operators (`&`, `|`, `^`, `~`)
- Compound bitwise operators (`&=`, `|=`, `^=`).
- if statement

License and Attribution

Portions of this page were adapted from the Arduino Reference Documentation, which is released under a Creative Commons Attribution-ShareAlike 3.0 License.

### Navigation

- next
- previous |
- LeafLabs |
- Index »
- Complete Language Index »