Estruturas Condicionais: ensinando o programa a decidir
Um programa sem condicionais faz sempre a mesma coisa. Com if e else, você ensina o computador a escolher caminhos diferentes conforme a situação.
Por que precisamos de condicionais?
Imagine um caixa eletrônico que não verifica o saldo antes de permitir saque. Ou um app de login que não checa se a senha está correta. Sem condicionais, programas seriam lineares e inúteis para o mundo real.
Condicionais permitem que o programa avalie uma condição (verdadeira ou falsa) e execute blocos de código diferentes conforme o resultado. São o mecanismo de tomada de decisão da lógica de programação.
🧮 Teste você mesmo — CalcSim
Quer mais recursos? Baixar app CalcSim IA
O bloco SE/SENÃO (if/else)
O SE (if) é o condicional mais básico. Se a condição for verdadeira, executa o bloco. Se for falsa, pula.
Estrutura básica: `if (condição) { bloco se verdadeiro } else { bloco se falso }`. O bloco else é opcional — use quando há algo a fazer no caso falso.
Exemplo prático: verificar aprovação. `if (media >= 7) { exibir('Aprovado') } else { exibir('Reprovado') }`. Simples e legível.
- A condição deve resultar em true ou false (booleano).
- Chaves { } definem o bloco que pertence ao if/else. Sem chaves, só a próxima linha é incluída.
- Indentação (recuo) não é obrigatória em todas linguagens, mas é fundamental para legibilidade.
Múltiplas condições: else if e switch
Quando há mais de dois caminhos possíveis, use else if encadeados: `if (nota >= 9) {'A'} else if (nota >= 7) {'B'} else if (nota >= 5) {'C'} else {'F'}`. Eles são avaliados em ordem — o primeiro verdadeiro é executado.
Para múltiplas comparações do mesmo valor contra opções fixas (dias da semana, meses, estados de um menu), o switch/case é mais organizado e geralmente mais eficiente.
Atenção ao `break` dentro do switch: sem ele, o código cai para o próximo case (fall-through), o que é um comportamento raro de se querer. Sempre coloque break ao final de cada case, exceto quando intencionalmente quiser o fall-through.
- else if: para faixas de valor ou condições distintas.
- switch: para comparar uma variável contra valores específicos e fixos.
- default no switch: equivale ao else — executado quando nenhum case bate.
Operadores lógicos: combinando condições
Muitas vezes uma decisão depende de duas condições ao mesmo tempo. Os operadores lógicos permitem combinar condições booleanas.
E lógico (&&, AND): retorna true só se AMBAS as condições forem verdadeiras. Exemplo: `if (idadeUsuario >= 18 && possuiCNH)` — precisa ter 18 anos E ter CNH.
OU lógico (||, OR): retorna true se pelo menos UMA das condições for verdadeira. Exemplo: `if (eAdmin || eModerador)` — pode ser admin OU moderador.
NÃO lógico (!, NOT): inverte o valor booleano. `!false` é `true`. `!estaLogado` é verdadeiro quando o usuário NÃO está logado.
- true && true = true | true && false = false | false && false = false
- true || false = true | false || false = false
- !true = false | !false = true
- Cuidado com a precedência: use parênteses para deixar claro a ordem de avaliação.
Condicionais aninhadas e o operador ternário
Condicionais aninhadas são if dentro de if. Tecnicamente funcionam, mas logo ficam difíceis de ler. Prefira refatorar lógicas complexas em funções separadas ou usar operadores lógicos para combinar condições.
O operador ternário é uma forma compacta de escrever um if/else simples em uma linha: `resultado = condição ? valorSeVerdadeiro : valorSeFalso`. Exemplo: `label = pontos >= 10 ? 'Ganhou' : 'Perdeu'`.
Use o ternário apenas para atribuições simples. Para lógica mais complexa, o if/else tradicional é mais legível.
Perguntas frequentes
Qual a diferença entre == e === em JavaScript?
O == compara só o valor, fazendo conversão de tipo se necessário ('5' == 5 é true). O === compara valor E tipo ('5' === 5 é false). Prefira sempre === para evitar bugs sutis causados pela conversão automática de tipos do JavaScript.
Posso ter um if sem else?
Sim. O else é opcional. Use apenas quando há algo a fazer no caso falso. Um if sem else simplesmente pula o bloco e segue em frente quando a condição é falsa.
Quando usar switch em vez de if/else?
Use switch quando você está comparando UMA variável contra vários valores fixos e específicos (ex: dias da semana, opções de menu). Use if/else quando as condições são diferentes entre si, envolvem intervalos, ou dependem de múltiplas variáveis.
Este artigo foi útil para você?
Avalie com estrelas para nos ajudar a melhorar o conteúdo.
Faça login para avaliar este artigo.
Ainda tem dúvida?
O Professor IA explica passo a passo
Faça uma pergunta em linguagem natural e receba uma explicação personalizada sobre Lógica de Programação — ou qualquer outro tópico.
Prefere resolver pelo celular?
Baixar o app grátis →Continue aprendendo