Operadores lógicos

Na base de toda tomada de decisão em programação está a lógica — e, dentro dela, os operadores lógicos desempenham um papel fundamental. Esses operadores são essenciais para construir condições que permitem que o software “pense” e aja de acordo com diferentes situações.

Seja no desenvolvimento de sistemas, aplicativos ou páginas web, entender como funcionam os operadores lógicos é o primeiro passo para dominar a lógica condicional e estruturar códigos mais eficientes e inteligentes.

Neste artigo, vamos explorar o que são operadores lógicos, seus principais tipos e como podem ser aplicados na prática utilizando JavaScript. Vamos lá?

1 – O que são operadores lógicos?

Em programação, operadores lógicos são símbolos ou palavras-chave utilizados em expressões booleanas (ou expressões lógicas) para comparar valores. Essas expressões retornam sempre um valor booleano, ou seja, verdadeiro (true) ou falso (false). Esse tipo de dado, conhecido como booleano ou lógico, é o mais simples entre os tipos primitivos — e está presente em praticamente todas as linguagens de programação.

O conceito de lógica booleana, apesar de parecer algo puramente da área de programação, está presente em diversas áreas da tecnologia. Por exemplo, na eletrônica, aprendemos sobre portas lógicas, como AND, OR e NOT, que funcionam com os mesmos princípios dos operadores lógicos em programação. Em ambos os casos, lidamos com decisões baseadas em dois estados possíveis: ligado/desligado, 1/0, aceso/apagado, sim/não ou simplesmente verdadeiro/falso. Compreender essa lógica permite transitar com mais facilidade entre diferentes áreas tecnológicas.

Os operadores lógicos são recursos fundamentais para criar lógica condicional em nossos softwares. Utilizar esses operadores nos permite gerar diferentes fluxos de execução de códigos, dependendo de certas condições serem verdadeiras ou falsas. Isso torna nossos sistemas mais inteligentes, adaptáveis e capazes de tomar decisões de forma automática.

A seguir, vamos ver os principais operadores lógicos e como cada um deles funciona.

2 – Os principais operadores lógicos

Operador AND (E): retorna verdadeiro apenas se ambas as condições forem verdadeiras. Se uma delas for falsa, o resultado será falso.

Valor 1Valor 2Resultado
verdadeiroverdadeiroverdadeiro
verdadeirofalsofalso
falsoverdadeirofalso
falsofalsofalso

Operador OR (OU): retorna verdadeiro se pelo menos uma das condições for verdadeira. Só retorna falso quando ambas forem falsas.

Valor 1Valor 2Resultado
verdadeiroverdadeiroverdadeiro
verdadeirofalsoverdadeiro
falsoverdadeiroverdadeiro
falsofalsofalso

Operador NOT (NÃO): inverte o valor lógico. Se for verdadeiro, torna-se falso; se for falso, torna-se verdadeiro.

EntradaResultado
verdadeirofalso
falsoverdadeiro

Além dos operadores mais comuns (AND, OR, NOT), também existem outros operadores lógicos que combinam ou estendem essas operações básicas:

Operador NAND (NÃO-E): é o oposto do operador AND, ele retorna falso somente se ambas as condições forem verdadeiras. É equivalente a aplicar NOT após um AND.

Valor 1Valor 2Resultado
verdadeiroverdadeirofalso
verdadeirofalsoverdadeiro
falsoverdadeiroverdadeiro
falsofalsoverdadeiro

Operador NOR (NÃO-OU): é o oposto do operador OR, ele retorna falso se pelo menos uma das condições for verdadeira. É equivalente a aplicar NOT após um OR.

Valor 1Valor 2Resultado
verdadeiroverdadeirofalso
verdadeirofalsofalso
falsoverdadeirofalso
falsofalsoverdadeiro

Operador XOR (OU-EXCLUSIVO): retorna verdadeiro se apenas uma das condições for verdadeira.

Valor 1Valor 2Resultado
verdadeiroverdadeirofalso
verdadeirofalsoverdadeiro
falsoverdadeiroverdadeiro
falsofalsofalso

Operador XNOR (NÃO-OU-EXCLUSIVO): retorna verdadeiro se as duas condições forem iguais.

Valor 1Valor 2Resultado
verdadeiroverdadeiroverdadeiro
verdadeirofalsofalso
falsoverdadeirofalso
falsofalsoverdadeiro

Essas variações são especialmente comuns em áreas como eletrônica e sistemas embarcados, mas também podem aparecer em linguagens de programação que oferecem suporte a operações bit a bit ou manipulação mais avançada de lógica.

3 – Operadores lógicos em JavaScript

Em JavaScript, você pode utilizar os seguintes operadores lógicos:

  • && (AND)
  • || (OR)
  • ! (NOT):

Vamos exemplificar cada um deles usando códigos JavaScript:

Operador && (AND lógico): vamos começar pelo operador AND. Vale relembrar que ele retorna true somente se ambas as expressões conectadas por ele forem true. Caso contrário, retorna false.

let idade = 25;
let possuiCarteira = true;

if (idade >= 18 && possuiCarteira) {
  console.log("Pode dirigir."); // Esta linha será executada porque ambas as condições são verdadeiras.
} else {
  console.log("Não pode dirigir.");
}

No exemplo acima, a mensagem “Pode dirigir.” só é exibida porque tanto a condição idade >= 18 quanto a condição possuiCarteira são verdadeiras. Se qualquer uma das condições fosse falsas, ou ambas fossem falsas, o resultado também seria falso.

Operador || (OR lógico): agora vamos ver o operador OR. Lembre-se que ele retorna true se pelo menos uma das expressões conectadas por ele for true. Retorna false somente se ambas forem false.

let produtoTemDesconto = false;
let primeiraCompra = true;

if (produtoTemDesconto || primeiraCompra) {
  console.log("Você tem um desconto!"); // Esta linha será executada porque 'primeiraCompra' é true.
} else {
  console.log("Não há descontos disponíveis.");
}

Nesse exemplo, a mensagem “Você tem um desconto!” é exibida porque pelo menos uma das condições (nesse caso primeiraCompra é true) é verdadeira. O operador || só retornaria false se ambas as condições forem falsas.

Operador ! (NOT lógico): para finalizar vamos ver o operador NOT. Ele é um operador unário (opera em uma única expressão), que apenas inverte o valor booleano da expressão. Se a expressão for true, ! a torna false, e se for false, ! a torna true.

let usuarioLogado = false;

if (!usuarioLogado) {
  console.log("Por favor, faça login."); // Esta linha será executada porque '!usuarioLogado' é true (a negação de false).
} else {
  console.log("Bem-vindo!");
}

No exemplo apresentado acima, usuarioLogado é false. O operador ! inverte esse valor para true, fazendo com que a mensagem “Por favor, faça login.” seja exibida.

Em resumo, os operadores lógicos (&&, ||, !) são ferramentas essenciais em JavaScript (e em muitas outras linguagens de programação) para controlar o fluxo do seu código com base em condições booleanas. Eles permitem criar lógicas mais complexas e dinâmicas em suas aplicações, sendo indispensáveis no desenvolvimento de softwares.

Conclusão

Dominar os operadores lógicos é essencial para qualquer pessoa que deseje programar com clareza e precisão. Eles são a chave para criar códigos que tomam decisões, validam condições e moldam o comportamento de sistemas.

Como vimos, tanto os operadores mais comuns — AND, OR e NOT — quanto os mais específicos — como XOR, NAND e NOR — têm aplicações que vão muito além da programação, estando presentes também em áreas como a eletrônica. Com uma boa compreensão desses conceitos, é possível escrever códigos mais limpos, eficientes e adaptáveis às mais diversas situações do mundo real.

Espero que este artigo seja útil de alguma forma para você. Em caso de dúvidas, sugestões ou reclamações, fique à vontade para entrar em contato.

Referências

https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Guide/Expressions_and_operators#operadores_logicos
https://dicasdeprogramacao.com.br/operadores-logicos
https://giovanidacruz.com.br/explorando-os-operadores-logicos-fundamentos-das-linguagens-de-programacao/

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *