O laço for
Tags: java
Published: 2024-07-09 22:03:07

- A forma geral do laço for para repetir uma única instrução.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/byfvd1v3w1tt7bdpf24x.png)

- Inicialização: Configura o valor inicial da variável de controle do laço.

- Condição: Uma expressão booleana que decide se o laço continua ou não.

- Iteração: Define como a variável de controle é atualizada a cada iteração.

- O laço for continua enquanto a condição especificada é verdadeira.

- Quando a condição se torna falsa, a execução do programa continua após o laço.

- Este programa Java calcula e exibe as raízes quadradas dos números de 1 a 99, junto com o erro de arredondamento de cada cálculo.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/veumaiib4arlvzt3k3ys.png)

O erro no cálculo do erro de arredondamento é feito duplicando a raiz quadrada de cada número e subtraindo esse resultado do número original para obter o erro.

- O programa utiliza um laço for para exibir números de 100 a -95 em decrementos de 5, demonstrando a flexibilidade do laço for em controlar a variável de iteração em qualquer direção.

- Este programa Java demonstra um laço for que itera de 100 até -100 em decrementos de 5, exibindo cada valor de x durante cada iteração.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3clznktcba3mduwa75fc.png)

- A expressão condicional é sempre testada no início do laço. Ou seja, o código de dentro do laço pode não ser executado se a condição for falsa.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5265bu1xd2ati4fvrhl5.png)

- O laço nunca será executado, porque sua variável de controle, count, é maior do que 5 quando entramos no laço pela primeira vez. Isso torna a expressão condicional, count < 5, falsa desde o início; logo, não ocorrerá nem mesmo uma iteração no laço.

** Algumas variações do laço for**

O laço for é uma das instruções mais versáteis da linguagem Java porque permite muitas variações. 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/531xiu7ql0es1tt273fp.png)

A saída do programa é mostrada aqui:
 i and j: 0 10
 i and j: 1 9
 i and j: 2 8
 i and j: 3 7
 i and j: 4 6

- O programa utiliza vírgulas para separar as instruções de inicialização (i=0, j=10) e as expressões de iteração (i++, j--).

- No início do laço, i é inicializada como 0 e j como 10.

- A cada iteração do laço, i é incrementada e j é decrementada simultaneamente.

- O uso de múltiplas variáveis de controle no laço for pode simplificar algoritmos específicos.

- A condição que controla o laço pode ser qualquer expressão booleana válida, não necessariamente envolvendo diretamente as variáveis de controle do laço.

- Um exemplo prático seria um laço que continua executando até que o usuário digite a letra 'S' no teclado.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/08z9u6a7znmt14knhzb9.png)


**Partes ausentes**

- Podemos deixar vazias algumas partes ou todas as partes da definição do laço.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ecn0l89cofsgs3f01qne.png)

- A iteração do for está vazia. Em vez disso, a variável de controle 
i é incrementada dentro do corpo do laço.

Saída do código:
 Pass #0
 Pass #1
 Pass #2
 Pass #3
 Pass #4
 Pass #5
 Pass #6
 Pass #7
 Pass #8
 Pass #9

- Exemplo tirando a inicialização:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gpcqnxxmbbnt7eeyhkb1.png)

- i é inicializada antes de o laço começar em vez de como parte de 
for. Normalmente, preferimos inicializar a variável de controle dentro de for.

**O laço infinito**

Um laço infinito pode ser criado usando for deixando a expressão condicional vazia.
Este tipo de laço executa indefinidamente.
Embora alguns programas, como os que processam comandos do sistema operacional, necessitem de laços infinitos, na maioria dos casos, são laços que requerem critérios especiais para encerramento geralmente usando a instrução break.