Dica de ouro sobre For e While !!
- #JavaScript
Estava estudando as estruturas de repetição e resolvi compartilhar com vocês um macete que acabei pensando enquanto estudava e me ajudou a compreender melhor a diferença de For e While!!
Primeiro, vou dar uma breve explicação sobre a função dessas estruturas:
For e while essencialmente servem a propósitos semelhantes. Ambos são comandos de loop, em que, se a condição for satisfeita, a execução continuará naquele bloco de código. É possível obter os mesmos resultados usando for e while, basta mudar as condições do for na declaração dele!
Tudo que você faz com While você faz com For, mas o For permite que você realize tudo em uma mesma linha!
O que seria tudo?
Uma estrutura de repetição tem três pontos fundamentais:
Inicialização (Iniciei minha variável contadora, por exemplo i = 0)
Teste lógico (tb chamado de condição de parada)
Incremento ( i++ ; i-- )
No caso, do for, nós temos essas três estruturas em uma só linha:
for (Inicialização, Teste lógico, Incremento) { }
for (i = 0; i < 10; i++){ }
Ele fica mais claro de ser lido!!
Já no while, declaramos a nossa variável de Inicialização primeiro, depois a condição de parada, e por fim (já dentro do comando) colocamos o incremento:
var Inicialização;
While (Testes lógico){
Incremento
}
var i= 0;
while (i<10){
i ++
}
Relembrando o funcionamento:
Sempre inicializa SOMENTE UMA VEZ;
Faz um teste lógico (condição de parada);
Se for verdadeiro, executa e faz o incremento;
Se for falso, para a execução e continua lendo o resto do código.
As variáveis iniciais, as condições de parada (<, >, <=, >= ….) vão ser sempre de acordo com a nossa lógica!!!
Quando que eu vou usar um e quando que eu vou usar outro?
Ambos você pode usar para as mesmas situações mas o for fica mais claro de visualizar e ler por estar tudo na mesma linha, e não esquecer nenhum item de funcionamento (inicialização, condição de parada/teste lógico e incremento) mas o For toda vez que for executado vai dar um incremento no i!! Pode ter situações em que você não quer sempre fazer o incremento, e então o While tem uma flexibilidade maior! No While você pode escolher onde você quer incrementar, por exemplo, vamos supor que você tenha uma lista enorme de clientes e você quer encontrar 5 clientes específicos que moram em determinado Estado, você pode implementar, um if dentro do While para só incrementar naquela situação específica, se o cliente não for daquele Estado você não quer fazer aquele incremento, você pode colocar uma estrutura de decisão antes do seu i!!
O while te dá essa flexibilidade de QUANDO incrementar!!
No for você tb pode fazer tudo isso igual ao While!! Mas, você tem que manter o ponto e vírgula tanto no início (onde tirou a inicialização) quanto no final (onde tirou o incremento) senão haverá um erro de sintaxe.
var i = 0;
for ( ; i < 10 ; ) {
i++;
}
Dessa forma ele fica bem parecido com o while e você tb tem a flexibilidade de escolher QUANDO incrementar! Não é o melhor uso, e não veremos isso no dia-a-dia mas fica essa opção! O ideal é usar a estrutura adequada para cada situação!
Frente a essas situações e melhores condições de uso de cada um, elaborei o seguinte jogo de palavras para lembrar da diferença de cada um:
FORever
WHILE
h
e
n
Então, utilizando o for o nosso incremento será SEMPRE (FOREVER/PARA SEMPRE) executado!!
Se quisermos, escolher QUANDO(WHEN) incrementar, devemos utilizar o While!!
Espero que tenha ajudado vocês com essa breve explicação sobre as estruturas de repetição e espero que a dica tenha auxiliado no momento de escolher quando usar While quando usar For!!
#JuntosVamosMaisLonge