1. Introdução
Imagina que tu tem uma tarefa: mostrar na tela dez vezes «Oi!». Dá pra escrever dez linhas com Console.WriteLine("Oi!"); — mas agora tu já conhece o loop while, então isso é tranquilo pra ti.
Mas tem outro loop — o for, que repete o que tu quiser o número de vezes que tu mandar. E ele ainda conta sozinho!
Olha um exemplo clássico:
for (int i = 0; i < 10; i++)
{
Console.WriteLine("Oi!");
}
O que esse código faz? Ele mostra na tela a palavra «Oi!» exatamente 10 vezes. Sem copiar e colar e sem dor no pulso.
2. Sintaxe do loop for
O loop for tem três partes principais, que ficam entre parênteses depois da palavra for:
for (inicialização; condição; mudança)
{
// Corpo do loop
}
Bora ver cada parte com calma:
- Inicialização — normalmente é criar a variável que vai contar as repetições (int i = 0).
- Condição — é checada antes de cada volta. Se for verdadeira, o corpo do loop roda. Se for falsa, o loop termina. Tipo i < 10.
- Mudança — é o comando que roda depois de cada volta. Normalmente aumenta ou diminui o contador (i++).
Dá até pra desenhar um esquema:
3. Comparando for e while
Talvez fique mais claro se eu te falar que for é só outro jeito de escrever o loop while.
A gente tinha o loop while:
int i = 0; // Inicialização da variável do loop
while(i < 10) // Checa a condição pra continuar o loop
{
Console.WriteLine(i); // Ação útil (corpo do loop)
i++; // Aumenta o contador
}
Dá pra escrever isso como loop for, só jogando tudo que controla o loop pra dentro dos parênteses:
for (int i = 0; i < 10; i++) // Inicialização; Checa condição; Aumenta contador
{
Console.WriteLine(i); // Ação útil (corpo do loop)
}
Os passos dos dois loops:
- Inicialização int i = 0; roda 1 vez antes do loop.
- Depois checa a condição i <= 10
- Depois faz a ação do loop Console.WriteLine(i);
- Depois aumenta o contador i++
- Depois volta pro passo 2.
4. Exemplos de uso do loop for
O exemplo mais simples
Bora mostrar os números de 1 a 5:
for (int i = 1; i <= 5; i++)
{
Console.WriteLine(i);
}
Saída:
1
2
3
4
5
Obs: se tu escrevesse i < 5, o último número seria 4.
Contagem regressiva
Quer se sentir um astronauta? Bora fazer uma contagem regressiva!
for (int i = 5; i > 0; i--)
{
Console.WriteLine(i);
}
Console.WriteLine("Partiu!");
Saída:
5
4
3
2
1
Partiu!
Passo do loop diferente de 1
Dá pra mudar o contador não só de 1 em 1, mas de qualquer valor:
for (int i = 0; i <= 10; i += 2)
{
Console.WriteLine(i);
}
// Vai mostrar: 0 2 4 6 8 10
5. Variações do loop for
Várias variáveis no loop
Às vezes é útil controlar duas variáveis ao mesmo tempo. Por exemplo, bora mostrar números da direita pra esquerda e da esquerda pra direita:
for (int esquerda = 1, direita = 10; esquerda <= 10; esquerda++, direita--)
{
Console.WriteLine($"{esquerda} {direita}");
}
Saída:
1 10
2 9
3 8
...
10 1
Loop for infinito
Se a parada for muito braba (tipo teu projeto é um moto-perpétuo de TI), dá pra fazer um loop for "eterno":
for (;;) // sem inicialização, sem condição, sem mudança
{
Console.WriteLine("Trabalhar, trabalhar e trabalhar de novo!");
}
Atenção: esse loop só termina se dentro dele tiver break, return ou throw. Não usa isso sem motivo, senão tu pode acordar o demônio antigo — "Processo não responde".
GO TO FULL VERSION