Os booleanos em Java são representados pelo tipo boolean, cujos valores podem ser true ou false.
Java dá suporte a três operadores booleanos:
! (NOT): nega o booleano&& (AND): recebe dois booleanos e resulta em true se os dois forem verdadeiros|| (OR): resulta em true se qualquer um dos dois booleanos for verdadeiroOs operadores && e || usam avaliação de curto-circuito. Isso significa que o lado direito do operador só é avaliado quando necessário.
Eles também são conhecidos como operadores condicionais ou lógicos.
Na documentação, ! às vezes é classificado como uma operação bit a bit, mas tem a semântica convencional de NOT.
true || false // => true
false || false // => false
false || true // => true
true && false // => false
true && true // => true
!true // => false
!false // => true
Cada um dos três operadores booleanos tem uma precedência de operadores diferente. Por isso, eles são avaliados nesta ordem: not primeiro, && em segundo e, por fim, ||.
Se você quiser 'escapar' dessas regras, pode colocar uma expressão booleana entre parênteses (()), pois os parênteses têm uma precedência de operador ainda maior.
!true && false // => false
!(true && false) // => true