Operadores lógicos

Os operadores lógicos aceitam apenas operando do tipo boolean.

Operador E

Símbolo && é chamado de E. Este operador retorna true somente se os dois operandos forem true.

<operando1> && <operando2>

Se o valor do operando1 for false, então o operador && não verifica o valor do operador2, pois sabe que o resultado já é false.

Tabela verdade:

Operando1 Operando2 Resultado
true true true
true false false
false true false
false false false

Exemplo:

Neste caso será impresso false, pois a variável a é true e a variável b é false, depois será impresso true, pois ambas variáveis a e c são true.

C:\>javac OperadorLogicoE.java
C:\>java OperadorLogicoE
false
true

Operador OU

Símbolo || é chamado de OU. Este operado retorna true caso tenha pelo menos um operando com o valor true.

<operando1> || <operando2>

Se o valor do operando1 for true, então o operador || não verifica o valor do operando2, pois já sabe que o resultado é true.

Tabela verdade:

Operando1 Operando2 Resultado
true true true
true false true
false true true
false false false

Exemplo:

Neste caso será impresso primeiro true, pois a variável a tem o valor true, depois será impresso false, pois as variáveis b e c são false.

C:\>javac OperadorLogicoOU.java
C:\>java OperadorLogicoOU
true
false

Operador de negação

Símbolo ! é chamado de negação. Este operador retorna true se o operando tem o valor false, e retorna false se o operando o valor true.

! <operando>

Tabela verdade:

Operando Resultado
false true
true false

Exemplo:

Neste caso primeiro será impresso false, que é a negação de true, depois será impresso true, que é a negação do resultado de b || c que é false.

C:\>javac OperadorLogicoNegacao.java
C:\>javac OperadorLogicoNegacao
false
true