Carregando...

Ciclo while

No for, início, condição e atualização ficam num só cabeçalho. Por vezes só conhece a regra «continua enquanto isto for verdade» — e o contador muda no meio do trabalho. while verifica primeiro uma condição, executa o corpo e verifica de novo. A mesma ideia de repetir; outra forma na página.

O que faz o while?

Enquanto a expressão entre parênteses for verdadeira, o bloco { } corre outra vez. No cabeçalho não há lugar separado para init ou atualização. Prepare variáveis antes do ciclo e altere-as no corpo até a condição ficar falsa. Então o ciclo para e segue a instrução seguinte.

while, for e do...while num relance

📊 Formas quotidianas de ciclo

Forma Quando encaixa Verificação
while continuar enquanto uma regra vale; atualização no corpo antes de cada volta
for já sabe início, fim e passo antes de cada volta (cabeçalho de três partes)
do...while o corpo tem de correr pelo menos uma vez depois de cada volta

Os while de iniciantes ainda usam muitas vezes um contador pequeno. A diferença é o sítio: escreve let i = 0 antes do ciclo e i++ (ou outra mudança) entre chavetas. Se nunca alterar o que a condição lê, o ciclo pode nunca acabar.

Contagem simples com while

javascript
let i = 0;
while (i < 5) {
console.log(i);
i++;
}

Contar com while

i começa em 0 antes do ciclo. Cada volta imprime i e soma um. Vê 0…4 — cinco voltas. O 5 não aparece porque a condição falha primeiro. Sem i++ no corpo, i ficaria 0 para sempre.

Leia uma volta com calma: condição → corpo (com a atualização) → condição outra vez. Por isso esquecer a atualização é a armadilha clássica do ciclo infinito com while.

Registar um passo claro

javascript
let n = 1;
while (n <= 3) {
console.log("step " + n);
n++;
}

Começar em 1 com rótulos claros

Aqui o contador começa em 1 e a condição usa n <= 3; vê step 1, step 2, step 3. Começar em 0 ou 1 é escolha de desenho — alinhe a condição, como no for.

Soma com while

javascript
let total = 0;
let k = 1;
while (k <= 4) {
total = total + k;
k++;
}
console.log(total);

Acumular um total

total começa em 0. Cada volta soma o k atual e depois avança k. Depois de 1+2+3+4, total é 10. O resultado que cresce fica fora; o contador que move a condição, ao lado.

Contagem regressiva com while

javascript
let left = 3;
while (left > 0) {
console.log("left=" + left);
left--;
}
console.log("done");

Contar para trás até parar

Nem todo o ciclo só sobe. Este imprime left=3, left=2, left=1 e depois done. Diminuir o contador também é atualização honesta — qualquer mudança que aproxime o fim serve.

do...while pelo menos uma vez

javascript
let x = 0;
do {
console.log("tick " + x);
x++;
} while (x < 1);
console.log("after=" + x);

do...while executa o corpo primeiro

do...while corre o corpo uma vez e só depois verifica. Mesmo que a condição já fosse falsa para um while normal, a primeira volta acontece. Aqui vê tick 0 e depois after=1. Use quando a história for «tentar uma vez e talvez repetir».

Mostrar o resultado do while na página

Faça uma contagem curta com while, construa uma mensagem e escreva-a na página.

Contagem na página com while

html
<!DOCTYPE html>
<html>
<head>
<title>While — page count</title>
</head>
<body>
<p id="out">…</p>
<script>
let msg = "";
let i = 1;
while (i <= 4) {
msg = msg + i + " ";
i++;
}
let box = document.getElementById("out");
box.textContent = "count=" + msg.trim();
</script>
</body>
</html>

A página mostra count=1 2 3 4. Mude o limite superior, atualize e leia a nova lista. Prefira for quando o plano de três partes é óbvio; prefira while quando a regra de paragem é uma só condição com atualização no corpo. A seguir: percorrer valores e chaves com for...of e for...in.

Experimente você

  1. Escreva um while que registe 0…4 com i < 5 e i++ no corpo.
  2. Mude-o para registar 1…5 com i <= 5.
  3. Some 1…5 em total com while e registe o resultado.
  4. Conte regressivamente de 5 a 1 e depois registe done.
  5. Escreva um do...while que imprima uma linha mesmo se a condição começar falsa.
  6. Na demo HTML mude só o limite, atualize e leia count=.

Erros comuns

  • Esquecer a atualização no corpo para a condição nunca ficar falsa (ciclo infinito)
  • Erro de um: i < 5 versus i <= 5 quando queria a outra contagem
  • Escolher do...while quando realmente quer permitir zero voltas
  • Pôr a atualização no sítio errado ou mudar outra variável
  • Um while longo quando um cabeçalho for claro se leria melhor

Resumo

  • while repete um bloco enquanto a condição for verdadeira
  • Prepare variáveis antes; atualize-as no corpo
  • Ótimo para contar, somar e contar regressivamente
  • do...while corre o corpo pelo menos uma vez e depois verifica
  • Prefira for com início/fim/passo claros; while para uma regra contínua
  • A seguir: for...of e for...in — percorrer valores e chaves

🧠 Teste Seu Conhecimento

Pronto para Começar

Teste Seu Conhecimento

Desafie-se com este questionário interativo e veja o quão bem você entende o tópico

❓
8
Perguntas
🎯
70%
Para Passar
♾️
∞
Tempo
🔄
∞
Tentativas

📝 Instruções

  • Leia cada pergunta cuidadosamente
  • Selecione a melhor resposta para cada pergunta
  • Você pode refazer o quiz quantas vezes quiser
  • Seu progresso será mostrado no topo