CodeGym /Cursos /C# SELF /Loop for: conhecendo e pegando as manhas

Loop for: conhecendo e pegando as manhas

C# SELF
Nível 4 , Lição 2
Disponível

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!");
}
Loop for clássico — mostra "Oi!" 10 vezes

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
}
Sintaxe geral do loop for

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:

  1. Inicialização int i = 0; roda 1 vez antes do loop.
  2. Depois checa a condição i <= 10
  3. Depois faz a ação do loop Console.WriteLine(i);
  4. Depois aumenta o contador i++
  5. 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!");
}
Loop for infinito

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".

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION