The && operator returns true only when both sides are true. if (x > 0 && x < 10) executes when x is positive and less than 10. You can chain multiple AND conditions. if (a > 0 && b > 0 && c > 0) requires all three variables positive.
If any is zero or negative, the result is false. AND has higher precedence than OR. if (a || b && c) evaluates as a || (b && c), not (a || b) && c. Use parentheses to clarify.