Also called Boolean operators.
Visual Basic, ASP, VBScript, VBA Java, JSP, C++ Description AND & or && All must be true OR | or || At least on must be true NOT ! Reverses the truth
These are often used to string together a series of simple conditional expressions into a compound conditional expression:
Simple: x > y
Compound: (x > y) AND (x > z)
Evaluating compound conditionals is based on the truth tables:
AND TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE
OR TRUE FALSE TRUE TRUE TRUE FALSE TRUE FALSE
Java and it's relatives use a process called short-cutting when evaluating compound conditional expressions. Take a look at this one:
(x > y) AND (x > z)
Since it is an AND, you know that all conditions must be true in order for the compound expression to evaluate to true. Imagine that, at some point in your program, x is equal to 3, y is equal to 5, and z is equal to 2. In the example above, using these values, the first condition (x > y) is false, and the second condition (x > z) is true. Therefore, the compound condition is false. However, you knew that already once you evaluated the first condition and found it to be false. Why bother evaluating the second condition.
The rules for short-cutting are:
AND: Once you find a condition that evaluates to false, return a false and stop evaluating. If all the conditions are true, then return a true.
OR: Once you find a condition that evaluates to true, return a true and stop evaluating. If all the conditions are false, then return a false.