Estrutura de repetição - do while em C#

A estrutura de repetição do while também é muito utilizada em problemas em que queremos que um laço de repetição ocorra, executando um determinado código enquanto uma condição for verdadeira. Bem parecida com a estrutura while já explicada anteriormente, ela possui uma particularidade que a diferencia no critério de como o código será executado.

Enquanto no while a condição é verificada primeiro, antes de o código ser executado, na estrutura do while, a condição só é verificada após o código ser executado o que garante que o código será executado pelo menos uma última vez antes da verificação da condição.

Para ficar mais claro iremos primeiro, mostrar a sintaxe da estrutura, um exemplo prático e depois iremos fazer uma comparação na execução das duas estruturas para que fique claro as diferenças de cada laço.

A sintaxe da estrutura do while, é a seguinte:

  • primeiramente vem a própria palavra do seguida de duas chaves que delimitam o código que será executado
do{
código aqui dentro será executado

}
  • após o fechamento das chaves vem a palavra while seguida dos parênteses que delimitarão a condição a ser verificada após a execução do código, ficando em sua sintaxe final o uso de ponto e vírgula .
do{
código aqui dentro será executado
}while(condição);

agora vamos para um exemplo prático do uso dessa estrutura:

using System;


namespace _04_doWhile
{
class Program
{
static void Main(string[] args)
{
int x = 2; //criamos uma variável inteira x e atribuímos o valor 2

do { //iniciamos a estrutura de repetição do while
x++; //incrementamos o valor da variável em 1 unidade para que ela cresça até a condição ser falsa
Console.WriteLine(x); //aqui imprimimos na tela o valor que a variável está assumindo cada vez que o código é executado
                
} while (x < 10); //aqui a condição é verificada, enquanto x for menor que 10 o laço volta e se repete


Console.ReadKey(); // a tela aguarda o toque de alguma tecla para que se encerre
}
}
}
// saída na tela: 3,4,5,6,7,8,9,10

como resultado do código acima os valores impressos de x, serão de 3 à 10. perceba que x assumiu um valor 10 mesmo com uma condição que impossibilitaria isso, a questão é que o código é executado primeiro antes da verificação, na sua penúltima execução x era igual a 9, checa-se a condição  que x tem que ser menor que 10 e então o laço volta a se repetir, fazendo x assumir o valor 10, ai a condição é novamente checada e como x não é mais menor que 10 o laço para.

Ao contrário da estrutura de repetição while , x jamais assumiria o valor 10, pois antes que o código seja executado a condição é checada primeiro, No exemplo abaixo, vejamos:

using System;


namespace _04_doWhile
{
class Program
{
static void Main(string[] args)
{
int x = 2;

while (x < 10)
{
Console.WriteLine(x);
x++;
}


Console.ReadKey();
}
}
}

As duas estruturas de repetição são muito parecidas em relação aos objetivos que buscam e muitas vezes apenas a estrutura de repetição while  irá resolver o seu problema, uma prova disso é que se mexêssemos na posição da incrementação da variável x que aparece nas duas estruturas, poderíamos fazer com que as duas chegassem a exibir os mesmos valores na tela, que x irá assumir. Logo muitos programadores pouco usam ou quase não usam a estrutura do while .

Levando-se em conta que o laço while bem elaborado, pode substituir a necessidade do uso do laço do while, foi que algumas linguagens como python não acharam necessário incluí-lo na sua estrutura, fazendo o que o laço while dê conta do recado.

E isso é tudo por hoje, até a próxima!!!




Se você ainda não cadastrou seu email para receber atualizações de postagens, vá a nossa página inicial e cadastre, ou se preferir clique Aqui
Autor
Maclaine Sabino

Maclaine Sabino Graduado em Matemática, Administração, finalizando Análise e Desenvolvimento de Sistemas.
Ama aprender coisas novas, tecnologia e música.