Os operadores lógicos são fundamentais na programação porque permitem combinar, comparar e inverter condições. Eles são utilizados principalmente em estruturas de decisão, como if e else, para determinar qual caminho o programa deve seguir.
Neste artigo, você vai entender os três principais operadores lógicos: AND (&&), OR (||) e NOT (!), além de aprender como eles funcionam na prática.
O que são operadores lógicos?
Operadores lógicos são símbolos ou palavras reservadas utilizados para trabalhar com valores booleanos.
Um valor booleano pode assumir apenas dois estados:
true— verdadeirofalse— falso
Por meio dos operadores lógicos, podemos combinar várias condições para produzir um novo resultado lógico.
Por exemplo:
idade >= 18 && temDocumento
Nesse caso, estamos verificando duas condições:
- A pessoa tem 18 anos ou mais?
- A pessoa possui documento?
O resultado será true somente se as duas condições forem verdadeiras.
Principais operadores lógicos
Os três operadores lógicos mais comuns são:
| Operador | Nome | Função |
|---|---|---|
&& |
AND / E | Todas as condições precisam ser verdadeiras |
|| |
OR / OU | Pelo menos uma condição precisa ser verdadeira |
! |
NOT / NÃO | Inverte o valor lógico |
Vamos entender cada um deles.
Operador AND (&&)
O operador &&, chamado de AND ou E, retorna true somente quando todas as condições envolvidas são verdadeiras.
Como funciona o AND?
Imagine a seguinte regra:
Uma pessoa pode entrar na festa se tiver ingresso E for maior de 18 anos.
Temos duas condições:
temIngresso
maiorDeIdade
Para permitir a entrada, as duas precisam ser verdadeiras.
| Tem ingresso | É maior de idade | Resultado |
|---|---|---|
true |
true |
true |
true |
false |
false |
false |
true |
false |
false |
false |
false |
Em JavaScript:
temIngresso && maiorDeIdade
Se:
temIngresso = true
maiorDeIdade = true
teremos:
true && true
Resultado:
true
Exemplo com if
Podemos utilizar o operador && para tomar uma decisão:
if (idade >= 18 && temDocumento) {
console.log("Entrada permitida");
}
Nesse exemplo, a mensagem só será exibida quando as duas condições forem satisfeitas.
Operador OR (||)
O operador ||, chamado de OR ou OU, retorna true quando pelo menos uma das condições é verdadeira.
Como funciona o OR?
Imagine a seguinte situação:
O cliente pode pagar com Pix OU cartão.
Não é necessário utilizar os dois métodos. Basta possuir uma das opções disponíveis.
| Pix | Cartão | Resultado |
|---|---|---|
true |
true |
true |
true |
false |
true |
false |
true |
true |
false |
false |
false |
Em JavaScript:
pix || cartao
Se:
pix = true
cartao = false
teremos:
true || false
Resultado:
true
Exemplo com if
if (pagamentoPix || pagamentoCartao) {
console.log("Pagamento disponível");
}
A condição será verdadeira se o pagamento por Pix ou cartão estiver disponível.
Operador NOT (!)
O operador !, chamado de NOT ou NÃO, tem uma função diferente dos anteriores: ele inverte o valor lógico.
Se o valor for true, o resultado será false.
Se o valor for false, o resultado será true.
| Valor | Resultado com ! |
|---|---|
true |
false |
false |
true |
Exemplo
!true
Resultado:
false
Outro exemplo:
!false
Resultado:
true
Exemplo prático
Imagine uma variável chamada estaLogado:
estaLogado = true;
Ao utilizar:
!estaLogado
teremos:
false
Isso acontece porque o operador ! inverte o estado original.
Podemos utilizar isso em uma condição:
if (!estaLogado) {
console.log("Faça login para continuar");
}
Nesse caso, a mensagem será executada quando o usuário não estiver logado.
Combinando operadores lógicos
Os operadores &&, || e ! também podem ser utilizados juntos.
Por exemplo:
idade >= 18 && temDocumento
Podemos criar condições ainda mais complexas:
idade >= 18 && (temDocumento || temPassaporte)
Nesse caso, a pessoa precisa:
- Ter 18 anos ou mais;
- E possuir documento ou passaporte.
Os parênteses ajudam a deixar a lógica mais clara e controlar a ordem de avaliação.
Operadores lógicos na prática
Considere as seguintes variáveis:
idade = 25;
temDocumento = true;
Podemos verificar:
idade >= 18 && temDocumento
Primeiro, avaliamos:
25 >= 18
Resultado:
true
Depois:
true && true
Resultado final:
true
Portanto, a condição é verdadeira.
Tabela-verdade
Uma maneira muito utilizada para estudar lógica é através da tabela-verdade.
Tabela-verdade do AND
| A | B | A && B |
|---|---|---|
true |
true |
true |
true |
false |
false |
false |
true |
false |
false |
false |
false |
A regra é simples:
No
AND, tudo precisa ser verdadeiro.
Tabela-verdade do OR
| A | B | A || B |
|---|---|---|
true |
true |
true |
true |
false |
true |
false |
true |
true |
false |
false |
false |
A regra é:
No
OR, basta uma condição ser verdadeira.
Tabela-verdade do NOT
| A | !A |
|---|---|
true |
false |
false |
true |
A regra é:
O
NOTsempre inverte o valor.
Resumo dos operadores lógicos
Podemos resumir tudo em três regras:
AND (&&)
Todas as condições precisam ser verdadeiras.
true && true // true
OR (||)
Pelo menos uma condição precisa ser verdadeira.
true || false // true
NOT (!)
Inverte o valor lógico.
!true // false
Conclusão
Os operadores lógicos são uma parte essencial da programação. Eles permitem criar regras e decisões mais complexas utilizando valores booleanos.
Os três principais operadores que você precisa dominar são:
&&→ E||→ OU!→ NÃO
Depois de compreender esses operadores, o próximo passo é estudar os operadores relacionais, como >, <, >=, <=, == e !=. Eles são responsáveis por realizar comparações e, quando combinados com operadores lógicos, permitem construir praticamente qualquer condição necessária em um programa.