Em Java, os valores Boolean são representados pelo tipo boolean, que tanto pode valer true como false.
O Java suporta três operadores Boolean:
! (NOT): nega o valor Boolean&& (AND): recebe dois Boolean e resulta em true se ambos forem true|| (OR): resulta em true se pelo menos um dos dois Boolean for trueOs operadores && e || usam avaliação de curto-circuito, o que significa que o lado direito do operador só é avaliado quando é preciso.
Também são conhecidos como operadores condicionais ou lógicos.
Na documentação, o ! é por 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 Boolean tem uma precedência de operadores diferente.
Por consequência, são avaliados por esta ordem: primeiro not, depois && e, por fim, ||.
Se quiseres 'escapar' a estas regras, podes envolver uma expressão Boolean em parênteses (()), já que os parênteses têm uma precedência de operadores ainda maior.
!true && false // => false
!(true && false) // => true