При использовании логического оператора AND, если первый оценивает значение false, то второй никогда не оценивается, потому что условие уже достаточно хорошо известно для выполнения.
С логическим оператором OR, если первый - false, он будет оценивать второй. В противном случае, если первый true, он не будет оценивать второй (не нужно).