Usar loops
Objetivos de aprendizagem
Após concluir esta unidade, você estará apto a:
- Diferenciar os loops while e do-while.
- Usar operadores de incremento e diminuição para controlar a execução de código.
No nosso exemplo Teatime, fizemos um bule de chá para compartilhar com nossos amigos mais próximos. Mas o que acontece se precisarmos servir chá a um grupo de 100 pessoas? Precisamos fazer as mesmas etapas repetidamente até que todos tenham sido atendidos. Parece que isso vai ser muito código redundante, não é? É aqui que os loops são muito práticos.
Um loop é um bloco de código que é repetido até que uma condição especÃfica seja atendida. No caso do código Teatime, vamos analisar as etapas a serem repetidas:
As etapas repetidas podem ser adicionadas a um loop. O Apex tem três maneiras de codificar loops: os loops while
, do-while
e for
. Por enquanto, vamos nos concentrar nos loops while
e do-while
. Como seus nomes, os loops while
e do-while
são muito semelhantes. Ambos verificam se uma condição especÃfica é atendida. O diferenciador é quando eles verificam se a condição é atendida. Os loops while
verificam a condição antes do inÃcio do loop, e os loops do-while
verificam após a conclusão do loop.
Parece só um pequeno detalhe, não é? Na verdade, o impacto é bem grande.
Pense dessa forma: o loop do-while
sempre é executado pelo menos uma vez. O loop while
pode nunca ser executado, dependendo da condição.
Loops while
O loop while
começa verificando se uma condição foi atendida. Se a condição for verdadeira, ele faz algo. Se for falsa, o loop para.
Esta é a sintaxe:
Vamos aplicar loops while
ao nosso código Teatime.
- No Developer Console, clique em Debug (Depurar) | Open Execute Anonymous Window (Abrir a janela Executar anônimo).
- Copie esse código e cole-o na janela Enter Apex Code (Inserir código do Apex).
- Marque a caixa de seleção Open Log (Abrir registro) e clique em Execute (Executar). O log de execução abre, exibindo o resultado da execução do seu código.
- Selecione a caixa de seleção Debug Only (Depurar somente) na parte inferior da janela.
Não, o sinal --
não é um erro de digitação. Ele é chamado de operador de pós-decremento. É uma forma abreviada de dizer "subtrai um número deste valor". Se totalAmountSugar
for igual a 159, subtraia-o de modo que agora o valor de totalAmountSugar
seja igual a 158. O operador de pós-incremento ++
faz o oposto, adiciona um número ao valor.
E o que está acontecendo agora exatamente? Lembre-se que temos um objetivo principal: servir chá para 100 convidados. Cada vez que servimos um convidado, uma porção de cada ingrediente (totalAmountSugar
e totalAmountTea
) e um convidado (totalGuests
) são subtraÃdos. Quando totalAmountSugar
ou totalAmountTea
chega a 0 (linha 15) ou totalGuests
chega a 0 (linha 12), o loop para e mais ninguém é servido.
Vamos ver como o loop do-while
funciona.
Loops do-while
Um loop do-while
permite que o código faça algo antes que a condição seja testada.
O loop do-while
começa fazendo uma tarefa uma vez. Em seguida, uma condição é verificada. Se a condição for verdadeira, ele executa a tarefa novamente. Se for falsa, o loop para.
Dê uma olhada na sintaxe:
- No Developer Console, clique em Debug (Depurar) | Open Execute Anonymous Window (Abrir a janela Executar anônimo).
- Copie esse código e cole-o na janela Enter Apex Code (Inserir código do Apex).
- Marque a caixa de seleção Open Log (Abrir registro) e clique em Execute (Executar). O log de execução abre, exibindo o resultado da execução do seu código.
- Selecione a caixa de seleção Debug Only (Depurar somente) na parte inferior da janela.
Você declarou variáveis, determinou valores, criou listas e fez loop de dados de várias maneiras. Parabéns! Você concluiu uma introdução ao Apex e está no caminho certo para entender mais sobre o código.