Ir para conteúdo
  • Cadastre-se

[JAVA] &&, ||, &, |, ! ou ^. Quando usar?


Gabrieljdb

Posts recomendados

&&    &    ||    |    !    ^

Olá!

Vi alguém com duvidas de como formular uma condição, então resolvi pesquisar e achei um texto bem objetivo e decidi compartilhar.

 

---

Suponhamos que temos a tal condição:
if(idade > 70 && s*** == masculino)

Concorda que o if só será executado caso a idade seja maior que 70 e o s*** masculino

Basicamente o programa vai checar se a idade é maior que 70, caso não seja, ele já pára na hora de executar! Isso no caso do &&.

---

Agora suponhamos que temos:
if(idade > 70 & s*** == masculino)

O programa ao invés de descartar logo de cara a condição toda caso idade seja menor que 70, também checará a condição de lá, ou seja, ‘s*** == masculino’.

Mas aí você pergunta, e qual a vantagem disso?
A vantagem é nesse caso:
if(idade > 70 & ++idade == 69 )

Ele está além de fazendo a condição, estará pré-incrementando idade em 1! Assim isso mexerá na variável idade, o que significará que o operador lógico AND “&” deve ser usado pois nós vamos querer que a o compilador cheque AMBAS as condições.

 

---

Veja a seguinte tabela de operadores lógicos:

&& E (“logical AND”) a && b
retorna true se a e b forem ambos true. Senão retorna false. Se a for false, b não é avaliada.

& E (“boolean logical AND”) a & b
retorna true se a e b forem ambos true. Senão retorna false. Ambas expressões a e b são sempre avaliadas.

|| OU (“logical OR”) a || b
retorna true se a ou b for true. Senão retorna false. Se a for true, b não é avaliada.

| OU (“boolean logical inclusive OR”) a | b
retorna true se a ou b for true. Senão retorna false. Ambas expressões a e b são sempre avaliadas.

^ OU EXCLUSIVO (“boolean logical exclusive OR”) a ^ b
retorna true se a for true e b for false ou vice-versa. Senão retorna false

! NÃO (“logical NOT”) !a
retorna true se a for false. Senão retorna false

 

---

Créditos: Giancarlo Braga

Abraços. Espero que seja útil.

Editado por Gabrieljdb
  • Gostei 6
  • Obrigado 2

Em breve novidades...

Link para o comentário
Compartilhar em outros sites


  • Registre-se

    Faça parte da maior e  mais antigas comunidades sobre Lineage2 da América Latina.





×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.