Repetições

Estruturas de repetição, também conhecidas como loops ou iterações, são construções fundamentais que permitem que o código seja executado várias vezes.

O Java possui 3 intruções de repetição:

  • for
  • while
  • do…while

Repetição for

A instrução for é uma estrutura de repetição que executa um número de iterações conhecidas.
Geralmente esse número de iterações é controlado por um contador que é inicializado no
início, incrementado em cada iteração e testado no inicio de cada iteração para verificar se
atingiu o numero de iterações pretendido.

Sintaxe:

for( inicialização do contador, condição de paragem, incremento do contador){ 
     <bloco de código> 
} 

A inicialização só é executada uma vez, antes da 1ª iteração. Geralmente, é nesta fase que se
inicializa o contador.
A condição de paragem é executada no início de cada iteração. Geralmente, testa-se o valor
do contador contra um determinado valor e se a condição fôr true, faz mais uma iteração; se
fôr false, termina a repetição e executa a próxima instrução a seguir ao for.
O incremento é executado no final de cada iteração e serve para incrementar o contador.

Exemplo:

class ForDemo { 
   public static void main(String[] args){ 
      for(int i=1; i<11; i++){ 
         System.out.println("Count is: " + i); 
      } 
   } 
}

No exemplo acima, a variável i é o contador do for. A repetição executa 10 iterações.

O ciclo for é bastante usado para percorrer os valores de arrays ou colecções como no
exemplo abaixo:

class ArrayForDemo { 
   public static void main(String[] args){ 
       int[] numbers = {1,2,3,4,5,6,7,8,9,10}; 
       for (int item : numbers) { 
          System.out.println("Count is: " + item); 
       } 
   } 
} 

Repetição while

O ciclo while, executa repetidamente um bloco de código enquanto uma determinada
condição fôr verdadeira (true).

Sintaxe:

while( condição){ 
   <bloco de código> 
}

Como a condição é avaliada no início de cada iteração, o ciclo while pode executar zero ou mais
iterações.

Exemplo:

class WhileDemo { 
   public static void main(String[] args){ 
      int count = 1; 
      while (count < 11) { 
         System.out.println("Count is: " + count); 
         count++; 
      } 
   } 
}

O exemplo a seguir implementa o ciclo infinito:

while (true){ 
   // código do bloco while
} 

Repetição do … while

O ciclo do … while, tal como o ciclo while, executa repetidamente um bloco de código
enquanto uma determinada condição fôr verdadeira (true).

Sintaxe:

do{ 
   <bloco de código> 
}while(condição); 

Como a condição é avaliada no final de cada iteração, o ciclo do … while pode executar
uma ou mais iterações.

Exemplo:

class DoWhileDemo { 
   public static void main(String[] args){ 
      int count = 1; 
      do { 
         System.out.println("Count is: " + count); 
         count++; 
      } while (count < 11); 
   } 
}

A instrução break

A instrução break pode ser usada para terminar um ciclo de repetição (for, while ou do …
while).
Se, no decorrer de um ciclo de repetição o programa encontar a instrução break, termida de
imediato o ciclo e salta para a próxima instrução a seguir à repetição.

Exemplo:


int[] numbers = {1,2,3,4,5,6,7,8,9,10};

for (int i = 0; i < numbers.length; i++) { 
   if (numbers[i] == 6) {     
      break; //interrompe o ciclo for
   } 
   System.out.println(numbers[i]);
} 

Output do exemplo acima:

1

2

3

4

5

A instrução continue

A instrução continue, termina a iteração corrente de um ciclo (for, while ou do … while
) e inicia uma nova iteração.

Exemplo:

int[] numbers = {1,2,3,4,5,6,7,8,9,10};

for (int i = 0; i < numbers.length; i++) { 
   if (numbers[i] == 6) {     
      continue; //interrompe a iteração corrente e salta para a próxima
   } 
   System.out.println(numbers[i]);
} 

Output do exemplo acima:

1

2

3

4

5

7

8

9

10