C# while e do... while loop
C# while e do... while loop
Neste artigo, aprenderemos sobre o loop while e do...while em C#, como usá-los e a diferença entre eles.
Na programação, muitas vezes deseja-se executar determinado bloco de instruções por um número especificado de vezes. Uma solução possível será digitar essas instruções pelo número de vezes necessário. No entanto, o número de repetições pode não ser conhecido antecipadamente (durante o tempo de compilação) ou talvez grande o suficiente (digamos 10.000).
A melhor solução para esse problema é o loop. Os loops são usados na programação para executar repetidamente um determinado bloco de instruções até que alguma condição seja atendida.
Neste artigo, aprenderemos a usar loops while em C#.
C# while loop
O enquanto A palavra-chave é usada para criar loop while em C#. A sintaxe do loop while é:
while (test-expression) { // body of while }
Como funciona o loop while?
- C# while loop consiste em um
test-expression
. - Se o
test-expression
é avaliado paratrue
,- instruções dentro do loop while são executadas.
- após a execução, o
test-expression
é avaliado novamente.
- Se o
test-expression
é avaliado parafalse
, o loop while termina.
Fluxograma de loop while
Exemplo 1:while Loop
using System;
namespace Loop
{
class WhileLoop
{
public static void Main(string[] args)
{
int i=1;
while (i<=5)
{
Console.WriteLine("C# For Loop: Iteration {0}", i);
i++;
}
}
}
}
Ao executarmos o programa, a saída será:
C# For Loop: Iteration 1 C# For Loop: Iteration 2 C# For Loop: Iteration 3 C# For Loop: Iteration 4 C# For Loop: Iteration 5
Inicialmente o valor de i é 1.
Quando o programa atinge a instrução de loop while,
- a expressão de teste
i <=5
é avaliado. Desde i é 1 e1 <= 5
étrue
, ele executa o corpo do loop while. Aqui, a linha é impressa na tela com a Iteração 1 e o valor de i é aumentado em 1 para se tornar 2. - Agora, a expressão de teste (
i <=5
) é avaliado novamente. Desta vez também, a expressão retornatrue
(2 <=5), então a linha é impressa na tela e o valor de i agora é incrementado para 3.. - Isso vai e o loop while é executado até i torna-se 6. Neste ponto, a expressão-teste será avaliada como
false
e, portanto, o loop termina.
Exemplo 2:loop while para calcular a soma dos 5 primeiros números naturais
using System;
namespace Loop
{
class WhileLoop
{
public static void Main(string[] args)
{
int i=1, sum=0;
while (i<=5)
{
sum += i;
i++;
}
Console.WriteLine("Sum = {0}", sum);
}
}
}
Ao executarmos o programa, a saída será:
Sum = 15
Este programa calcula a soma dos 5 primeiros números naturais.
- Inicialmente o valor de soma é inicializado como 0.
- Em cada iteração, o valor de sum é atualizado para
sum+i
e o valor de i é incrementado em 1. - Quando o valor de i atinge 6, a expressão de teste
i<=5
retornará false e o loop terminará.
Vamos ver o que acontece no programa fornecido em cada iteração.
Inicialmente, i =1, soma =0
Iteração | Valor de i | i<=5 | Valor da soma |
---|---|---|---|
1 | 1 | verdadeiro | 0+1 =1 |
2 | 2 | verdadeiro | 1+2 =3 |
3 | 3 | verdadeiro | 3+3 =6 |
4 | 4 | verdadeiro | 6+4 =10 |
5 | 5 | verdadeiro | 10+5 =15 |
6 | 6 | falso | O loop termina |
Então, o valor final de soma será 15.
C# do... while loop
O fazer e enquanto A palavra-chave é usada para criar um loop do...while. É semelhante a um loop while, porém há uma grande diferença entre eles.
No loop while, a condição é verificada antes que o corpo seja executado. É exatamente o oposto do loop do...while, ou seja, a condição é verificada após a execução do corpo.
É por isso que o corpo do loop do...while será executado pelo menos uma vez, independentemente da expressão-teste.
A sintaxe do loop do...while é:
do { // body of do while loop } while (test-expression);
Como... while funciona?
- O corpo do loop do...while é executado primeiro.
- Em seguida, o
test-expression
é avaliado. - Se o
test-expression
étrue
, o corpo do loop é executado. - Quando o
test-expression
éfalse
, do...enquanto o loop termina.
faça... while fluxograma de loop
Exemplo 3:faça... while loop
using System;
namespace Loop
{
class DoWhileLoop
{
public static void Main(string[] args)
{
int i = 1, n = 5, product;
do
{
product = n * i;
Console.WriteLine("{0} * {1} = {2}", n, i, product);
i++;
} while (i <= 10);
}
}
}
Ao executarmos o programa, a saída será:
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 5 * 10 = 50
Como podemos ver, o programa acima imprime a tabuada de um número (5).
- Inicialmente, o valor de i é 1. O programa, então, entra no corpo do loop do..while sem verificar nenhuma condição (ao contrário do loop while).
- Dentro do corpo, produto é calculado e impresso na tela. O valor de i é então incrementado para 2.
- Após a execução do corpo do loop, a expressão de teste
i <= 10
é avaliado. No total, o loop do...while será executado 10 vezes. - Finalmente, quando o valor de i for 11, a expressão-teste será avaliada como
false
e, portanto, encerra o loop.
Loop while e do...while infinito
Se a expressão de teste no loop while e do...while nunca for avaliada como
false
, o corpo do loop será executado para sempre. Esses loops são chamados de loop infinito. Por exemplo:
Loop while infinito
while (true) { // body of while loop }
Loop infinito do...while
do { // body of while loop } while (true);
O loop infinito é útil quando precisamos que um loop seja executado enquanto nosso programa for executado.
Por exemplo, se o seu programa for uma animação, você precisará executá-lo constantemente até que seja interrompido. Nesses casos, um loop infinito é necessário para continuar executando a animação repetidamente.
Linguagem C
- Palavras-chave e identificadores C#
- Classe e objeto C#
- Classe abstrata e método C#
- C# Classe Parcial e Método Parcial
- Classe e método selados em C#
- Diferença entre while e do-while:explicado com exemplos
- Programa Palindrome Number em Java usando while &for Loop
- C - Constantes e Literais
- C# - Constantes e Literais
- Programação do SINUMERIK 840D Uso do loop WHILE