Operadores lógicos \| TreinaWeb               Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 14 Horas 

 51 Min 

 11 Seg 

   Tempo restante da oferta: 14 51 11 

  [Assinar →](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)  Explorar  

 [ Quanto custa? ](#assinatura) [ FAQ ](https://www.treinaweb.com.br#faq) [Matricule-se](#assinatura) [ Entrar ](https://www.treinaweb.com.br/login) 

     [ Início ](https://www.treinaweb.com.br) [ Artigos ](https://www.treinaweb.com.br/blog) Operadores lógicos  [ Desenvolvimento ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento) 

# Operadores lógicos

 Operadores lógicos costumam causar dúvidas em quem está aprendendo lógica de programação. Nesse post falaremos sobre operadores lógicos independente de linguagem de programação, veremos suas tabela verdade e exemplos práticos.

 [ Elton Fonseca ](https://www.treinaweb.com.br/blog/autor/elton-fonseca) 7 anos atrás

  ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/01/20160410/TABELA-VERDADE.png)  

Quando estamos estudando [lógica de programação](https://www.treinaweb.com.br/blog/o-que-e-de-fato-a-logica-de-programacao/ "lógica de programação") é comum termos dúvidas nos operadores. Entre os operadores, os que mais geram dúvidas são os operadores lógicos, lembro na faculdade o professor explicando diversas vezes os operadores lógicos e mesmo assim a turma como um todo tinha dificuldade.

Por trás dos operadores lógicos existe uma série de conhecimentos teóricos, porém esse não será o foco do nosso artigo. O objetivo aqui é bem mais prático, falando diretamente para utilização de operadores lógicos em programação.

 [ ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/06/ebook-logica-de-programacao.jpg) ](https://www.treinaweb.com.br/ebook/logica-de-programacao/)

## Valores Booleanos (Verdadeiro e Falso)

Em programação existe um tipo de dado chamado Booleano. Esse tipo guarda uma informação que indica se algo é verdadeiro ou falso. Pensando de maneira abstrata isso parece não fazer muito sentido, porém se pensarmos de maneira um pouco mais concreta facilita as coisas.

Vamos supor que você receba a idade do usuário do seu programa e deseja saber se ela é maior que 18 anos. O resultado da análise da idade só pode retornar dois valores: verdadeiro, se ele tiver mais de 18 anos, ou falso, se ele tiver menos de 18.

No caso acima podemos ter uma visão prática do uso do dado booleano, apesar de não envolver diretamente operadores lógicos.

## Onde entra os operadores lógicos?

Os operadores lógicos entram quando precisamos realizar operações sobre um ou dois valores booleano (verdadeiro ou falso). Vamos pensar de maneira prática novamente. Imagine que agora nós precisamos verificar se a idade do usuário é maior que 18 anos e menor que 22. Pensando em como resolver o problema acima, precisamos realizar 2 comparações, uma para saber se a idade é maior que 18 e outra para saber se a idade é menor que 22.

```
idade maior que 10
idade menor que 22

```

Sabemos que cada operação dessa retornará um valor verdadeiro ou falso, dependendo da idade do usuário, mas ainda não temos a resposta se a idade está entre 18 e 22. Para realizar essa análise precisamos realizar uma operação sobre os valores booleanos que foram retornados pelas comparações e para isso usamos um operador lógico.

## Operador E (AND)

O primeiro operador lógico que veremos será o operador `E`. Este operador retorna verdadeiro quando os dois valores de entrada passados para ele são verdadeiros, caso contrário ele retorna falso. Veja a tabela verdade dele abaixo:

![tabela verdade operador e (and)](https://dkrn4sk0rn31v.cloudfront.net/2020/01/15112656/operador-logico-e.png)

O operador `E` pode ser usado para solucionar o problema da idade entre 18 e 22 anos. Podemos fazer do seguinte modo:

```
idade maior que 18 E idade menor que 22

```

Vamos fazer o teste de mesa para a expressão acima.

Vamos considerar primeiro a idade com valor 15. A primeira condição `idade maior que 18` retornará falso, porém `idade menor que 22` retornará verdadeira. Aplicando o operador `E` nos valores `falso E verdadeiro` temos como resposta o valor falso. Logo sabemos que a idade não está entre 18 e 22 anos.

Vamos considerar agora a idade com valor 20. A primeira condição `idade maior que 18` retornará verdadeiro e `idade menor que 22` também retornará verdadeira. Aplicando o operador `E` nos valores `verdadeiro E verdadeiro` temos como resposta o valor verdadeiro. Logo sabemos que a idade está entre 18 e 22 anos.

Por fim, vamos considerar a idade com valor 30. A primeira condição `idade maior que 18` retornará verdadeiro, porém `idade menor que 22` retornará falso. Aplicando o operador `E` nos valores `verdadeiro E falso` temos como resposta o valor falso. Logo sabemos que a idade não está entre 18 e 22 anos.

[  ![Lógica de Programação - Iniciando na programação](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/logica-de-programacao.svg)   Curso Lógica de Programação - Iniciando na programação Conhecer o curso ](https://www.treinaweb.com.br/curso/logica-de-programacao-iniciando-na-programacao)

## Operador OU (OR)

Este operador retorna verdadeiro quando um ou outro valor de entrada é verdadeiro e também quando os dois valores são verdadeiros. Ele só retorna falso quando os dois valores de entrada são falsos. Veja a tabela verdade dele abaixo:

![tabela verdade operador lógico ou (or)](https://dkrn4sk0rn31v.cloudfront.net/2020/01/15112711/operador-logico-ou.png)

Vamos imaginar que em um sistema precisamos verificar se uma pessoa é esportista ou não. Para isso perguntamos se ela joga futebol OU faz corridas. Nesse caso podemos montar uma expressão assim:

```
futebol igual a sim OU corrida igual a sim

```

Vamos fazer o teste de mesa:

Se a atividade que a pessoa realiza for somente futebol. A primeira comparação `futebol igual a sim` retornará verdadeiro, porém a segunda `corrida igual a sim` retorna falso. Aplicando o operador OU nos valores `verdadeiro OU falso` teremos o valor verdadeiro. Isso nos indica que temos um esportista.

Se a atividade que a pessoa realiza for somente corrida. A primeira comparação `futebol igual a sim` retornará falso, porém a segunda `corrida igual a sim` retornará verdadeiro. Aplicando o operador OU nos valores `falso OU verdadeiro` teremos o valor verdadeiro. Isso nos indica que temos um esportista.

Se a pessoa realiza as duas atividades futebol e corrida. A primeira comparação `futebol igual a sim` retornará verdadeiro e a segunda `corrida igual a sim` retornará verdadeiro. Aplicando o operador OU nos valores `verdadeiro OU verdadeiro` teremos o valor verdadeiro. Isso nos indica que temos um esportista.

Agora se a pessoa não realiza nenhum das duas atividades. A primeira comparação `futebol igual a sim` retornará falso e a segunda `corrida igual a sim` também retornará falso. Aplicando o operador OU nos valores `falso OU falso` teremos o valor falso. Isso nos indica que não temos um esportista.

## Operador OU Exclusivo (XOR)

O operador OU Exclusivo retornar verdadeiro quando um dos dois valores é verdadeiro, porém retorna falso se os 2 valores forem verdadeiro. Ele também retorna falso se os dois valores de entrada forem falsos.

Veja a tabela verdade abaixo:

![tabela verdade operador ou exclusivo (xor)](https://dkrn4sk0rn31v.cloudfront.net/2020/01/15112729/operador-logico-ou-exclusivo.png)

Note que ele possui o comportamento muito parecido com o OU, porém quando os dois são verdadeiro ele retorna falso.

Vamos supor que precise verificar o regime de trabalho de um professor. Ele pode ser regime exclusivo ou regime parcial, mas não podem ser os dois juntos.

## Operador NÃO (NOT)

Esse operador, diferente dos demais que vimos até agora, realiza uma operação sobre um único valor. Se o valor for verdadeiro ele retorna falso e se o valor for falso ele retorna verdadeiro. Ele também é chamado de operador de negação.

Veja a tabela verdade abaixo:

![tabela verdade operador não (not)](https://dkrn4sk0rn31v.cloudfront.net/2020/01/15112750/operador-logico-nao.png)

Vamos supor que queremos verificar se a idade de uma pessoa NÃO é maior que 18 anos. Para isso podemos fazer algo assim:

```
NÃO(idade maior que 18)

```

Vamos ao teste de mesa:

Considerando que a idade da pessoa é 10 anos. A expressão `idade maior que 18` retornará falso, aplicando o operador NÃO no valor falso retorna verdadeiro. Isso indica que a idade é menor que 18 anos.

Agora considerando uma idade de 20 anos. A expressão `idade maior que 18` retornará verdadeiro, aplicando o operador NÃO o valor verdadeiro será convertido para falso. Isso indica que a idade é maior que 18 anos.

[  ![Python - Fundamentos](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/python.svg)   Curso Python - Fundamentos Conhecer o curso ](https://www.treinaweb.com.br/curso/python-fundamentos)

## Considerações finais

Temos ainda outros operadores lógicos como NÃO-E, NÃO-OU, NÃO-OU-EXCLUSIVO, mas basicamente eles são a aplicação do operador de negação NÃO aos operadores que já conhecemos. Além dos operadores, aconselho a leitura de nosso artigo sobre [o guia de introdução a programação](https://www.treinaweb.com.br/blog/guia-de-introducao-a-programacao/ "o guia de introdução a programação"), onde abordamos outros conceitos importantes para iniciar os etudos na área de desenvolvimento.

- [ #Lógica de Programação ](https://www.treinaweb.com.br/blog/tag/logica-de-programacao)
- [ #Algoritmo ](https://www.treinaweb.com.br/blog/tag/algoritmo)

Autor

 ![Elton Fonseca](//secure.gravatar.com/avatar/2cee05645357ced0841ce76ba5569c72?d=mm)

## Elton Fonseca

 Professor e desenvolvedor. Formado em análise e desenvolvimento de sistema, pós graduado em engenharia e arquitetura de software. É autor de cursos em diversos temas, como, desenvolvimento back-end, cloud computing e CMSs. Nas horas vagas adora estudar sobre o mercado financeiro, cozinhar e brincar com pequeno Daniel. [@eltonfonsecadev](https://twitter.com/eltonfonsecadev) 

 [Todos os artigos](https://www.treinaweb.com.br/blog/autor/elton-fonseca)  

## Continue estudando

 Transforme leitura em prática com os cursos e formações da TreinaWeb.

 [Ver cursos](https://www.treinaweb.com.br/cursos)   

  Continue lendo

## Artigos relacionados

- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/11/OPERADORES-COMPARAÇÃO-400x280.png)  [ Algoritmos ](https://www.treinaweb.com.br/blog/categoria/algoritmos) 

     6 anos atrás

    ##  [ Operadores de comparação na programação ](https://www.treinaweb.com.br/blog/operadores-de-comparacao-na-programacao) 

     Vamos aprender a utilizar os operadores de comparação mais comuns na lógica de programação.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/01/operadores-matematicos-usados-na-programacao-400x280.png)  [ Algoritmos ](https://www.treinaweb.com.br/blog/categoria/algoritmos) 

     6 anos atrás

    ##  [ Operadores matemáticos usados na programação ](https://www.treinaweb.com.br/blog/operadores-matematicos-usados-na-programacao) 

     Conheça os operadores matemáticos mais utilizados nas linguagens de programação e saiba como utilizá-los.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/08/MEDIA-QUERIES-400x280.png)  [ CSS ](https://www.treinaweb.com.br/blog/categoria/css) 

     4 anos atrás

    ##  [ Media queries, o que são e como usar no CSS? ](https://www.treinaweb.com.br/blog/media-queries-o-que-sao-e-como-usar-no-css) 

     Neste artigo, nós iremos aprender sobre o uso de media queries no CSS e iremos aprender como utilizá-los em nossas aplicações web.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/02/ESTRUTURAS-CONDICIONAIS-REPETICAO-JAVASCRIPT-400x280.png)  [ Desenvolvimento Front-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-front-end) 

     6 anos atrás

    ##  [ Estruturas condicionais e estruturas de repetição em JavaScript ](https://www.treinaweb.com.br/blog/estruturas-condicionais-e-estruturas-de-repeticao-em-javascript) 

     Neste artigo veremos como utilizar as estruturas condicionais (if, else) e as estruturas de repetição (while, for) no JavaScript.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/11/C-SHARP-PROPRIEDADES-INIT-RECORD-400x280.png)  [ C# ](https://www.treinaweb.com.br/blog/categoria/csharp) 

     6 anos atrás

    ##  [ C# 9.0 - Programas top-level e Pattern Matching ](https://www.treinaweb.com.br/blog/c-9-0-programas-top-level-e-pattern-matching) 

     Dando continuidade ao nosso estudo do C# 9.0, neste artigo veremos dois novos recursos dele: Programas top-leve e Pattern Matching.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/01/GUIA-INTRODUÇÃO-PROGRAMAÇÃO-400x280.png)  [ Algoritmos ](https://www.treinaweb.com.br/blog/categoria/algoritmos) 

     6 anos atrás

    ##  [ Guia de introdução à programação ](https://www.treinaweb.com.br/blog/guia-de-introducao-a-programacao) 

     Entenda os conceitos fundamentais para iniciar seus estudos na área de desenvolvimento neste guia de introdução a programação.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/12/MODULARIZAÇÃO-400x280.png)  [ Algoritmos ](https://www.treinaweb.com.br/blog/categoria/algoritmos) 

     6 anos atrás

    ##  [ Modularização: Funções e Procedimentos ](https://www.treinaweb.com.br/blog/modularizacao-funcoes-e-procedimentos) 

     Entenda o conceito de modularização e a utilização de funções e procedimentos no desenvolvimento de software.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/12/CONCEITOS-APRENDIZADO-PROGRAMAÇÃO-400x280.png)  [ Algoritmos ](https://www.treinaweb.com.br/blog/categoria/algoritmos) 

     6 anos atrás

    ##  [ Conceitos usados no aprendizado de programação ](https://www.treinaweb.com.br/blog/conceitos-usados-no-aprendizado-de-programacao) 

     Entenda conceitos utilizados no aprendizado de lógica de programação.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/11/VARIÁVEIS-CONSTANTES-400x280.png)  [ Algoritmos ](https://www.treinaweb.com.br/blog/categoria/algoritmos) 

     6 anos atrás

    ##  [ Variáveis e constantes na programação ](https://www.treinaweb.com.br/blog/variaveis-e-constantes-na-programacao) 

     Variáveis e Constantes são conceitos fundamentais para o estudo de lógica de programação, vamos entender qual a utilidade de cada uma.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/10/ESTRUTURAS-CONDICIONAIS-REPETIÇÃO-400x280.png)  [ Algoritmos ](https://www.treinaweb.com.br/blog/categoria/algoritmos) 

     6 anos atrás

    ##  [ Estruturas condicionais e de repetição ](https://www.treinaweb.com.br/blog/estruturas-condicionais-e-de-repeticao) 

     Entenda a função das estruturas condicionais (If - Else) e de repetição (While - For) nos estudos sobre lógica de programação.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/05/como-instalar-o-csharp-e-nosso-primeiro-exemplo-400x280.png)  [ C# ](https://www.treinaweb.com.br/blog/categoria/csharp) 

     4 anos atrás

    ##  [ Guia da linguagem C# ](https://www.treinaweb.com.br/blog/guia-da-linguagem-csharp) 

     Nesse guia de C# você aprenderá o necessário para criar os seus primeiros softwares com a linguagem de programação C#. Acesse agora mesmo!

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/01/VARIÁVEIS-JAVA-400x280.png)  [ Java ](https://www.treinaweb.com.br/blog/categoria/java) 

     6 anos atrás

    ##  [ Conhecendo variáveis e constantes no Java ](https://www.treinaweb.com.br/blog/conhecendo-variaveis-e-constantes-no-java) 

     Conheça neste artigo as variáveis, tipos de dados e constantes da linguagem Java.

     Ler artigo

## Um ano de acesso total para você viver de programação.

 Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro `console.log` ao mercado de trabalho.

- **1 ano** de acesso a **todos os cursos**
- Cursos novos **toda semana**
- Suporte **direto com professores**
- Plano de carreira **personalizado**
- **Certificados digitais** inclusos
- **Aplicativos** para Android e iOS, com **acesso offline**

    **Garantia incondicional de satisfação** 

 Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

### Acesso completo a todos os cursos e dezenas de Formações.

 12 meses 

  Economize R$ 840,00  54% OFF 

 de 12x R$ 129,00 por apenas

 12x  R$ 59,00

 sem juros no cartão de crédito ou R$ 599,00 à vista

  Oferta termina em  **14h 51min 11s**

- Acesso imediato e ilimitado durante 1 ano.
- Plano de carreira personalizado.
- Suporte direto com professores.
- E muito mais!

 [Matricule-se agora](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26)

     [                ](https://www.treinaweb.com.br)

 Escola online de programação, tecnologia e IA.

- [  ](https://www.facebook.com/TreinaWeb/)
- [  ](https://www.instagram.com/treinaweb/)
- [  ](https://www.youtube.com/user/TreinaWeb)
- [  ](https://twitter.com/treinaweb)
- [  ](https://www.linkedin.com/company/treinaweb)
- [  ](https://github.com/treinaweb)

## Inscreva-se em nossa newsletter

Receba lançamentos, promoções e novidades.

   Seu nome     Seu WhatsApp     Seu melhor e-mail   Inscrever-se 

## Cursos

- [ Base para Devs ](https://www.treinaweb.com.br/categoria/base-para-devs)
- [ Front-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-front-end)
- [ Back-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-back-end)
- [ Mobile ](https://www.treinaweb.com.br/categoria/desenvolvimento-mobile)
- [ Bancos de Dados ](https://www.treinaweb.com.br/categoria/bancos-de-dados)
- [ Cloud ](https://www.treinaweb.com.br/categoria/cloud-computing)
- [ IA ](https://www.treinaweb.com.br/categoria/ia)
- [ E mais ](https://www.treinaweb.com.br/categoria/e-mais)
- [ Ver todos os cursos ](https://www.treinaweb.com.br/cursos)

## Conteúdo

- [ Formações ](https://www.treinaweb.com.br/formacoes)
- [ Projetos práticos ](https://www.treinaweb.com.br/projetos-praticos)
- [ Direto ao ponto ](https://www.treinaweb.com.br/direto-ao-ponto)
- [ Planos ](https://www.treinaweb.com.br#assinatura)
- [ Depoimentos ](https://www.treinaweb.com.br#depoimentos)
- [ Comunidade ](https://www.treinaweb.com.br#comunidade)
- [ Corpo docente ](https://www.treinaweb.com.br#docente)

## A empresa

- [ Sobre a TreinaWeb ](https://www.treinaweb.com.br#sobre)
- [ Perguntas frequentes ](https://www.treinaweb.com.br#faq)
- [ Vantagens de estudar na TreinaWeb ](https://www.treinaweb.com.br/vantagens-de-estudar-na-treinaweb)
- [ Cursos para empresas ](https://www.treinaweb.com.br/empresas)
- [ Sugira um novo curso ](https://www.treinaweb.com.br/sugerir-curso)
- [ Trabalhe conosco ](https://www.treinaweb.com.br/trabalhe-conosco)
- [ Artigos ](https://www.treinaweb.com.br/blog)
- [ Desenvolvedores e agentes ](https://www.treinaweb.com.br/developers)
- [ Contato ](https://www.treinaweb.com.br/contato)
- [ Política de privacidade ](https://www.treinaweb.com.br/politica-de-privacidade)
- [ Termos de uso ](https://www.treinaweb.com.br/termos-de-uso)

## Baixe nosso aplicativo

 [   Disponível na **App Store**  ](https://apps.apple.com/us/app/treinaweb/id1322729447) [   Disponível no **Google Play**  ](https://play.google.com/store/apps/details?id=br.com.treinaweb.mobile) 

  Av. Paulista, 1765, Conj 71 e 72 · Bela Vista · São Paulo · SP · 01311-200   © 2004 – 2026 TreinaWeb Tecnologia LTDA · CNPJ 06.156.637/0001-58
