Laços de Repetição: for, while e do...while em JavaScript

    Bem-vindo(a) ao post no blog. 



🧠 O que é um Laço de Repetição

Em programação, muitas vezes é necessário repetir a mesma ação várias vezes — por exemplo, exibir uma sequência de números, somar valores, percorrer listas etc.

💬 Em vez de escrever o mesmo código várias vezes como no exemplo:

console.log(1);

console.log(2);

console.log(3);

console.log(4);

console.log(5);

 

Usamos um laço (loop), que faz essa repetição automática e controlada.

💡 Definição:

Um laço de repetição executa um bloco de código enquanto uma condição for verdadeira ou por um número determinado de vezes.

Cuidado, Dev! Se a sua condição nunca for falsa, você terá um 'loop infinito'. Isso consome toda a memória do navegador e faz a página travar. Sempre verifique se o seu contador está aumentando corretamente!


🔹 Tipos de Laço

O JavaScript possui três formas principais de repetição:

Tipo

Quando usar

for

Quando você já sabe quantas vezes quer repetir

while

Quando não se sabe o número exato de repetições (depende de uma condição)

do...while

Quando deseja executar pelo menos uma vez, mesmo que a condição seja falsa

Vamos entender cada um detalhadamente.


⚙️ O Loop for

O for é o tipo de laço mais usado.
 Ideal quando você sabe exatamente quantas vezes algo deve ser feito.

Sintaxe:

for (inicialização; condição; incremento) {

  // código a ser executado

}

 

💬 Etapas explicadas:

1.    Inicialização → define a variável de controle.

2.    Condição → enquanto for verdadeira, o loop continua.

3.    Incremento → atualiza a variável após cada repetição.


Exemplo 1 — Contagem simples

for (let i = 1; i <= 5; i++) {

  console.log("Contagem:", i);

}

 

Resultado:

Contagem: 1

Contagem: 2

Contagem: 3

Contagem: 4

Contagem: 5

 

💡 Aqui:

     let i = 1 → começa em 1;

     i <= 5 → repete até que i seja 5;

     i++ → soma 1 a cada ciclo.


Exemplo 2 — Tabuada

let numero = 7;

for (let i = 1; i <= 10; i++) {

  console.log(`${numero} x ${i} = ${numero * i}`);

}

 

Resultado:

7 x 1 = 7

7 x 2 = 14

...

7 x 10 = 70

 

💬 Repare no uso das template strings (${ }) para montar frases dinâmicas.


🔁 O Loop while

while significa “enquanto”.
 Ele repete um bloco enquanto a condição for verdadeira.

Sintaxe:

while (condição) {

  // código a ser executado repetidamente

}

 

⚠️ Cuidado: se a condição nunca se tornar falsa, o loop será infinito e travará a execução.


Exemplo 1 — Contagem com while

let contador = 1;

 

while (contador <= 5) {

  console.log("Número:", contador);

  contador++;

}

 

Saída:

Número: 1

Número: 2

...

Número: 5

 

💬 Mesmo resultado do for, mas aqui o controle depende do programador atualizar manualmente o contador.


Exemplo 2 — Digitando até parar

let nome;

while (nome !== "sair") {

  nome = prompt("Digite seu nome (ou 'sair' para encerrar):");

  console.log("Você digitou:", nome);

}

 

💡 O loop só termina quando o usuário digita "sair".
 Esse é um exemplo clássico de uso prático de while.


🔄 O Loop do...while

A diferença entre while e do...while é simples, mas importante:

     whileverifica primeiro, depois executa.

     do...whileexecuta primeiro, depois verifica.

Sintaxe:

do {

  // código a executar

} while (condição);

 


Exemplo — Perguntar até confirmar

let resposta;

do {

  resposta = prompt("Deseja continuar? (s/n)");

} while (resposta === "s");

 

alert("Programa encerrado!");

 

💡 Nesse caso, o código dentro do do roda pelo menos uma vez, mesmo que a condição seja falsa.


⚙️ Controlando Laços com break e continue

break → encerra o loop imediatamente

for (let i = 1; i <= 10; i++) {

  if (i === 5) break;

  console.log(i);

}

 

Saída:

1

2

3

4

 

💬 O loop é interrompido quando i chega a 5.


continue → pula para a próxima iteração

for (let i = 1; i <= 10; i++) {

  if (i === 5) continue;

  console.log(i);

}

 

Saída:

1

2

3

4

6

7

8

9

10

 

💬 A linha 5 é “pulada”, mas o resto continua normalmente.


🧩 Exemplo Prático — Somando Números

let total = 0;

 

for (let i = 1; i <= 5; i++) {

  let numero = Number(prompt(`Digite o número ${i}:`));

  total += numero;

}

 

alert(`A soma total é: ${total}`);

 

💡 Este exemplo mostra o uso do loop for para coletar dados iterativamente.


📊 Exemplo com While — Descobrir Número Secreto

const numeroSecreto = 7;

let tentativa;

 

while (tentativa !== numeroSecreto) {

  tentativa = Number(prompt("Adivinhe o número entre 1 e 10:"));

  if (tentativa === numeroSecreto) {

    alert("Você acertou! 🎉");

  } else {

    alert("Errado, tente novamente!");

  }

}

 

💬 A execução só termina quando o número correto é adivinhado.


🧮 Exemplo Completo — Menu Interativo

let opcao;

 

do {

  opcao = Number(prompt(`

    Escolha uma opção:

    1 - Olá, mundo!

    2 - Contar até 5

    3 - Sair

  `));

 

  switch (opcao) {

    case 1:

      alert("Olá, mundo!");

      break;

 

    case 2:

      for (let i = 1; i <= 5; i++) {

        console.log("Número:", i);

      }

      break;

 

    case 3:

      alert("Encerrando programa...");

      break;

 

    default:

      alert("Opção inválida!");

  }

 

} while (opcao !== 3);

 

💬 Aqui, combinamos do...while + switch + for para criar um menu real.
 Esse tipo de estrutura é muito usada em sistemas interativos.


⚠️ Cuidado com Loops Infinitos

Se você esquecer de atualizar a variável de controle ou criar uma condição impossível de se tornar falsa, o loop nunca termina.

Exemplo perigoso:

let x = 1;

while (x > 0) {

  console.log("Loop infinito!");

}

 

💬 Como x nunca é alterado, o while não tem fim.
 Sempre certifique-se de que a condição de parada existe.


💻 Exercício Prático — Números Pares

Crie um programa que exiba todos os números pares de 1 até 20:

for (let i = 1; i <= 20; i++) {

  if (i % 2 === 0) {

    console.log(i);

  }

}

 

Saída:

2, 4, 6, ..., 20

 

💡 Desafio: modifique o código para usar while em vez de for.


💬 Desafio — Fatorial de um Número

Peça um número ao usuário e calcule seu fatorial (ex: 5! = 5×4×3×2×1).

💡 Dica de solução:

let n = Number(prompt("Digite um número:"));

let resultado = 1;

 

for (let i = n; i >= 1; i--) {

  resultado *= i;

}

 

alert(`O fatorial de ${n} é ${resultado}`);

 


🧩 Exemplo Visual — Desenhar Estrelas

let linhas = 5;

let desenho = "";

 

for (let i = 1; i <= linhas; i++) {

  desenho += "*".repeat(i) + "\n";

}

 

console.log(desenho);

 

Resultado:

*

**

***

****

*****

 

💬 Aqui, usamos repetição para gerar padrões visuais, um ótimo exercício de lógica.


🧠  Revisão 

✅ Entendeu o que são laços de repetição;
 ✅ Aprendeu as estruturas
for, while e do...while;
 ✅ Viu a diferença entre executá-las com ou sem condições conhecidas;
 ✅ Usou
break e continue para controlar o fluxo;
 ✅ Criou
exemplos reais, de menu, tabuada, fatorial e interação.


🎓 Conclusão

Os laços de repetição são uma das ferramentas mais poderosas da programação.
 Eles permitem automatizar tarefas, percorrer listas, coletar dados e construir estruturas dinâmicas.

A partir de agora, você será capaz de desenvolver códigos mais eficientes, inteligentes e organizados.

E na próxima aula, iremos abordar um tema que leva isso ainda mais longe: funções — blocos reutilizáveis de código que podem ser chamados quando e quantas vezes quiser! 🔁✨

Esse conteúdo faz parte do projeto Academy Code Christ, criado para ajudar iniciantes a aprender programação de forma gratuita e direta.


Se esse conteúdo te ajudou, você pode me pagar um café ☕

Pix: antropologiacrista@gmail.com

Comentários

Postagens mais visitadas