Java define seis símbolos para operadores lógicos como listado a seguir.
Operador | Nome | Exemplo | Significado |
& | e | a&b | É verdadeiro se ambos são verdadeiros |
| | ou | a|b | É verdadeiro se um for verdadeiro |
! | não | !a | É verdadeiro se a for false e vice-versa |
&& | e | a&&b | É verdadeiro se ambos são verdadeiros |
|| | ou | a||b | É verdadeiro se um for verdadeiro |
^ | exclusivo | a^b | É verdadeiro se ambos são verdadeiros ou falsos |
Há diferenças entre os operadores “&&” e “&” e os operadores “||” e “|”. Os operadores “&&” e “||” é a primeira condição que determina a condição, a segunda condição não é necessária ser checada.
Por exemplo, a condição consiste em duas pequenas condições.
if((condição 1) || (condição 2)){
…
}
Quando a condição 1 é verdadeira, você pode determinar a condição como verdadeira sem checar a segunda. Contudo, utilizando os operadores “&” e “|”, ambas as condições são checadas. Sendo assim, o simples “&” e “|” normalmente não são utilizados.
Aplicando os operadores lógicos, no exemplo das férias o resultado fica assim:
If((férias <= 10 dias) e (férias >= 6)){
Eu vou para São Paulo;
}else if((férias <= 5 dias) e (férias >= 3 dias)){
Eu vou para Piracicaba;
}else if(férias <= 2 dias){
Eu vou ficar em casa;
}
Transformando:
If((férias <= 10 dias) && (férias >= 6)){
Eu vou para São Paulo;
}else if((férias <= 5 dias) && (férias >= 3 dias)){
Eu vou para Piracicaba;
}else if(férias <= 2 dias){
Eu vou ficar em casa;
}
O operador “!” parece simples. Contudo, quando aplicar condições de combinações negativas isso fica um pouco mais complicado.
!(a && b) = !a || !b
!(a || b) = !a && !b
Fonte: Learning Java with Games
Deixe um comentário