Repetições com Loops
Loops permitem executar código várias vezes sem repetir manualmente. Essencial para automatizar tarefas!
Por que loops?
Sem loop:
javascript
console.log("Olá 1");console.log("Olá 2");console.log("Olá 3");console.log("Olá 4");console.log("Olá 5");// E se fossem 1000?Com loop:
javascript
for (let i = 1; i <= 5; i++) { console.log(`Olá ${i}`);}for - Loop com contador
javascript
for (inicialização; condição; incremento) { // código a repetir}Exemplo:
javascript
for (let i = 0; i < 5; i++) { console.log(`Número: ${i}`);}// Saída: 0, 1, 2, 3, 4Entendendo cada parte:
javascript
for (let i = 0; // começa em 0 i < 5; // enquanto i for menor que 5 i++) { // incrementa i em 1 após cada loop console.log(i);}Contagem regressiva
javascript
for (let i = 10; i >= 0; i--) { console.log(i);}console.log("🚀 Lançar!");Pulando números
javascript
// Números pares de 0 a 10for (let i = 0; i <= 10; i += 2) { console.log(i);}// Saída: 0, 2, 4, 6, 8, 10while - Loop com condição
javascript
while (condição) { // código a repetir}Exemplo:
javascript
let contador = 0; while (contador < 5) { console.log(`Contador: ${contador}`); contador++;}Use while quando não sabe quantas vezes vai repetir:
javascript
let numero = 1; while (numero < 1000) { numero = numero * 2; console.log(numero);}// Dobra até passar de 1000do...while
Executa pelo menos uma vez, depois verifica:
javascript
let i = 0; do { console.log(i); i++;} while (i < 5);Percorrendo Arrays
Com for tradicional
javascript
const frutas = ["maçã", "banana", "laranja"]; for (let i = 0; i < frutas.length; i++) { console.log(`Fruta ${i}: ${frutas[i]}`);}Com for...of (mais moderno)
javascript
const frutas = ["maçã", "banana", "laranja"]; for (const fruta of frutas) { console.log(fruta);}Com forEach (método de array)
javascript
const frutas = ["maçã", "banana", "laranja"]; frutas.forEach((fruta, indice) => { console.log(`${indice}: ${fruta}`);});break e continue
break - sai do loop
javascript
for (let i = 0; i < 10; i++) { if (i === 5) { break; // para o loop quando i for 5 } console.log(i);}// Saída: 0, 1, 2, 3, 4continue - pula para próxima iteração
javascript
for (let i = 0; i < 10; i++) { if (i === 5) { continue; // pula o 5 } console.log(i);}// Saída: 0, 1, 2, 3, 4, 6, 7, 8, 9Loops aninhados
Loop dentro de loop:
javascript
// Tabuadafor (let i = 1; i <= 3; i++) { console.log(`\n--- Tabuada do ${i} ---`); for (let j = 1; j <= 10; j++) { console.log(`${i} x ${j} = ${i * j}`); }}Exercícios práticos
1. Soma de números
javascript
let soma = 0; for (let i = 1; i <= 100; i++) { soma += i;} console.log(`Soma de 1 a 100: ${soma}`); // 50502. Encontrar número
javascript
const numeros = [10, 25, 33, 47, 52, 68, 71];const procurado = 47;let encontrado = false; for (let i = 0; i < numeros.length; i++) { if (numeros[i] === procurado) { console.log(`Encontrado na posição ${i}!`); encontrado = true; break; }} if (!encontrado) { console.log("Número não encontrado");}3. Filtrar maiores de idade
javascript
const pessoas = [ { nome: "Ana", idade: 17 }, { nome: "Bruno", idade: 25 }, { nome: "Carla", idade: 16 }, { nome: "Diego", idade: 32 }]; console.log("Maiores de idade:");for (const pessoa of pessoas) { if (pessoa.idade >= 18) { console.log(`- ${pessoa.nome} (${pessoa.idade} anos)`); }}4. FizzBuzz (clássico de entrevistas!)
javascript
for (let i = 1; i <= 30; i++) { if (i % 3 === 0 && i % 5 === 0) { console.log("FizzBuzz"); } else if (i % 3 === 0) { console.log("Fizz"); } else if (i % 5 === 0) { console.log("Buzz"); } else { console.log(i); }}Cuidado com loops infinitos!
javascript
// PERIGO! Loop infinito - nunca faça isso!while (true) { console.log("Infinito!");} // PERIGO! Esqueceu de incrementarlet i = 0;while (i < 5) { console.log(i); // Esqueceu i++! Vai rodar para sempre}Se acontecer, feche a aba do navegador!
Qual loop usar?
| Situação | Loop recomendado |
|---|---|
| Sabe quantas vezes | for |
| Não sabe quantas vezes | while |
| Percorrer array | for...of ou forEach |
| Precisa do índice | for tradicional |
Resumo
- ✅
forpara repetir número conhecido de vezes - ✅
whilepara repetir enquanto condição for true - ✅
for...ofpara percorrer arrays - ✅
breakpara sair do loop - ✅
continuepara pular iteração - ✅ Cuidado com loops infinitos!
Na próxima aula, vamos organizar código com funções! 🚀