Note that && and || do not always need their right operand to be evaluated. For instance, when using &&, if our first operand is false, our final result will always be false irrespective of the second operand. Expressions which are built with && and || are only evaluated as far as needed to determine the result. This is why we say these expressions use short-circuit evaluation.
Hence, when the compiler sees false &&....., it will return false without evaluating what comes after &&. This reduces unnecessary compile time.
That sums up logical operators. Let’s move on to bitwise operators in the next lesson.