Jump to content
Sign in to follow this  
Gabrieljdb

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

Recommended Posts

&&    &    ||    |    !    ^

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.

Edited by Gabrieljdb
  • Like 6
  • Thanks 2

Em breve novidades...

Share this post


Link to post
Share on other sites

Proteja seu servidor de ataques DDoS massivos!

VPS EPIC
Sign in to follow this  


Proteção Oficial L2JBrasil







  • Recently Browsing

    No registered users viewing this page.

  • Similar Content

    • By Eduardo.SilvaL2J
      Olaaaaa, Estou com uma dúvida na hora de adicionar mods no servidor vou usar um como exemplo e assim ficara mais fácil de entenderem a minha dúvida.
      Nesse exemplo a baixo tenho o sinal de + e de - e queria saber se tenho que adicionar da forma que está ou tenho que remover esses sinais 😕
      import java.text.DateFormat; +import java.util.Calendar; - public int getExpReward() - { - double rateXp = getStat().calcStat(Stats.MAX_HP, 1, this, null); - return (int) (getTemplate().rewardExp * rateXp * Config.RATE_XP); - }
    • By Gabriel_Ch
      Eae galera, blz ? espero que sim...
      Desculpem a minha ignorancia, mas eu já revirei todo o forum, atrás desse problema, e em outros forums também, nao encontrei nada
      referente a isso. vamos lá !!!
      Estou usando a Rev Acis, essa ultima que o pessoal ta usando ae no Forum, a L2jMegaCorrigido.
      O Erro é quando estou em Primavel, quando morro e dou To Village, a personagem não vai, continua caído no chão, e aparece o seguinte ERRO no Game Serve...
      ja mechi em tudo que seria obvío em relação ao ERRO, nas Xml Zona, Teleporte, e nada resolveu...

    • By L2carlinhos2020
      Boa noite venho aqui perdi ajuda a voces  Tutorial  como aprende compila e adiciona mods java na Rev Acis   gostaria de aprende do começo  .
      fico grato
    • By Gremlin
      Boa tarde, estou desenvolvendo um mod quando encontrei uma dúvida que não consegui resolver sozinho, eu preciso verificar se o player tem um determinado item no inventario para que não seja possivel bugar o meu mod, mas não sei como fazer.
    • By Emo
      Oiê! Tudo bom?
      Gente, estou tendo uns probleminhas bem FUDEROSOS aqui, mais eu sei que faz parte porque estou tentando resgatar uma REV HELLBOUND. Estou usando a L2jserver
      (que ta cheio de bug mais eu nem ligo)
      estou tendo probleminha bem chato aqui porq eu tenho a svn do projeto.
      https://subversion.assembla.com/svn/l2jsecrets
      Se clicarem ai, vai abrir normalmente.
      Oque eu não estou conseguindo é fazer o checkout tanto pelo Eclipse como que pelo o Tortoise. 
      voces poderiam me ajudar? ou alguma informação desse meu sonho que não morre nunca?!
      CODE ERROR:
       
  • Posts

×
×
  • Create New...