Laços “for” no Java

É inevitável que em algum momento no desenvolvimento de um software, você precise usar um laço. Laço, ou loop, em computação, significa uma instrução de programação que repete determinadas instruções (que estão dentro do laço) um certo número de vezes, até que alcance o resultado esperado. Hoje, vou falar sobre três tipos de laços que podem ser programados no Java: for convencional, for melhorado e for com lambda.

 

FOR CONVENCIONAL

Este for você já deve ter visto em vários lugares, pois trata-se do mesmo estilo de código usado no C, C++, entre outras muitas linguagens de programação. Funciona assim: você declara uma variável numérica, que será o seu índice, determina uma condição para a saída do laço (não queremos um loop infinito, né?) e por fim, determina como o índice deverá ser incrementado. Parece complicado? Não é!

 

 

Perceba que, primeiramente, eu declarei e iniciei uma variável inteira i com valor zero. Depois, determinei que este laço irá repetir enquanto esta variável i for menor que 5 e, por fim, determinei que i será incrementado de um em um (i++). Saída:

Jogador #1 Djokovic
Jogador #2 Murray
Jogador #3 Federer
Jogador #4 Wawrinka
Jogador #5 Nadal

 

FOR MELHORADO

Introduzido no Java 5, é a instrução certa a ser utilizada quando você não precisa do índice numérico. Sua declaração é resumida e mais intuitiva, onde um array (ou lista) será percorrido por completo, passando o valor a uma variável de mesmo tipo, a cada repetição.

 

 

Como já foi dito, neste caso, não temos a variável numérica para nos localizar — muitas vezes, realmente, não é necessário. A variável jogador é do tipo String, pois deve ser do mesmo tipo do array a ser percorrido, já que irá receber um de seus elementos a cada repetição. Saída:

Djokovic
Murray
Federer
Wawrinka
Nadal

 

FOR C/ LAMBDA

Introduzido no Java 8, é um tipo novo de laço que abre margem para uma gama de utilidades fornecidas pela classe Stream, como: agrupar, filtrar, ordenar, entre outras. Neste post, vou fazer da forma mais simples possível.

 

 

Primeiro, transformei o array em um objeto da classe Stream. Depois, chamei o método foreach — e é aí que entra a mágica o lambda: uma variável jogador, sem tipo, pois o Java irá descobrir de acordo com o tipo do array e, depois da flecha, a instrução que quero executar. A saída será a mesma do laço melhorado, demostrada acima.

Bem legal, né? Este é apenas um pedacinho da ponta de um enorme iceberg que é a classe Stream e as instruções lambda que podem ser utilizadas no Java 8.

Sobre o Autor

Fundador do blog Eu++. Programador autodidata de várias linguagens de programação, formado em Tecnologia em Análise e Desenvolvimento de Sistemas pelo Instituto Federal de São Paulo. Apaixonado por empreendedorismo e inovação, sonha em melhorar o mundo através da tecnologia e do compartilhamento de informação e conhecimento.

  • Eduardo F.O

    Muito bom. Obrigado.

  • Raul

    Até que java não é tão feio assim, legal!