Vídeo: What is differences between Logical AND(&&) and Bitwise AND(&) in Java 2024
Java tem dois operadores para executar operações lógicas e: & e &&. Ambos combinam duas expressões booleanas e retornam true somente se ambas as expressões forem verdadeiras.
Aqui está um exemplo que usa o operador básico E (&):
se ((class = = 1) & (salesTotal> = 10000. 0)) commissionRate = 0. 025;
Aqui, as expressões (salesClass == 1) e (salesTotal> = 10000. 0) são avaliadas separadamente. Então o operador & compara os resultados. Se ambos forem verdadeiros, o operador & retorna verdadeiro. Se um é falso ou ambos são falsos, o operador & retorna falso.
Observe o uso de parênteses para esclarecer onde uma expressão termina e outra começa. Usar parênteses nem sempre é necessário, mas quando você usa operadores lógicos, é uma boa idéia usar parênteses para identificar claramente as expressões que estão sendo comparadas.
O operador && é semelhante ao operador &, mas pode tornar seu código um pouco mais eficiente. Como ambas as expressões comparadas pelo operador & devem ser verdadeiras para que toda a expressão seja verdadeira, não há razão para avaliar a segunda expressão se o primeiro retornar falso. O operador & sempre avalia ambas as expressões. O operador && avalia a segunda expressão apenas se a primeira expressão for verdadeira.