O Loop For, em Java, é um dos três tipos de laço de repetição For — como também é chamado. Essas estruturas são utilizadas para executar diversas vezes um mesmo bloco de instruções — e a sequência de comandos é programada para voltar ao seu ponto de origem assim que completada, resumidamente.
É bem comum que muitos de nós tenhamos dificuldades para compreender como usar e manipular os laços For, devido à necessidade de alta abstração pelo usuário. É comum que iniciantes no mundo da programação tenham muitas dúvidas de como criar e em que momentos utilizar esses recursos.
Se você está iniciando na área e quer saber o que são, então, está no lugar certo! Existem diversos motivos para uso de um Loop For em Java. Talvez o principal deles seja dar a capacidade ao desenvolvedor de realizar iterações em blocos de códigos sem precisar recorrer a um modelo manual, repetindo esses blocos cada vez que for necessário.
Acompanhe os principais detalhes, neste guia prático, e descubra muitas outras características que ajudarão você a entender esse recurso do Java:
- O que é o Loop For Java e para que serve?
- Como funciona o Loop For Java?
- Qual a sintaxe do For Java?
- Quais os três tipos de Loop For Java?
- Quais as diferenças entre While e For em Java?
- Manipulando Loops For Java! 4 exemplos práticos
Boa leitura!
O que é o Loop For Java e para que serve?
Quando executamos uma sequência de comandos na linguagem Java e precisamos que ela se repita até determinada condição seja contemplada, chamamos isso de “loop”. O Loop For, nesse caso, é responsável por iterar alguma parte de nosso código quando precisamos, não sendo necessário reescrevê-lo, automatizando, dessa maneira, qualquer incremento ou decremento de uma variável.
O laço For possibilitará a execução de determinada variável em nosso programa, a qual é iniciada pelo loop. Conforme nossos sistemas vão ficando mais complexos, a alteração de algumas dessas variáveis pode causar complicações durante seu desenvolvimento por um programador não muito experiente.
Como funciona o Loop For Java?
O funcionamento do Loop For pode ter até quatro processos independentes entre si. O primeiro deles é a inicialização da variável contida no laço de iteração — que pode ou não já estar inicializada. Depois da variável executada, temos a segunda parte de nosso loop, quando temos uma “checagem de condição”, a qual é realizada pelo loop de maneira contínua.
Essa checagem é o que define se o nosso laço For continuará ou será interrompido. Para facilitar seu entendimento, imagine que ao programarmos um sistema com variáveis entre 0 e 10 — definidas randomicamente —, e um laço For para conferir o valor de cada uma delas, queremos que nosso pequeno sistema observe se determinada variável é menor que 5, e adicione o valor de +1, em caso afirmativo.
Quando a variável for executada (e for igual ou maior que 5), ele passará para uma próxima, sem realizar alterações. Após checar se a condição é satisfeita (ter um valor menor que 5), o loop terá uma ação a ser realizada (adicionar +1 ao valor daquela variável) — essa é a terceira parte de nosso laço For.
A checagem da primeira variável realizada pelo loop — declarando se é menor que 5 — tem duas possibilidades: verdadeiro ou falso. Isso é o que chamamos de declaração da variável, e ela será a responsável pela modificação desse elemento durante a execução do laço For.
Será a partir dela que nosso sistema será capaz de incrementar ou decrementar o valor daquela variável identificada como “menor do que 5”, ou terminará ali o laço de iteração e partirá para checagem da próxima variável no loop — essa é a quarta e última parte do processo. Abordaremos essas questões com mais detalhes e outros exemplos mais adiante, no conteúdo.
Qual a sintaxe do For Java?
É possível encontrarmos diversas formas de iterar os elementos com laço For em Java, mas, basicamente, ela é escrita da seguinte forma:
for (int x = 0; x < y; x++) {
...
}
Podemos, também, representar a sintaxe de outra maneira:
for (inicialização da variável; checagem de condição; incremento/decremento do valor da variável) {
comando a ser executado/declaração
}
Quais os três tipos de Loop For Java?
Como já citamos no início de nosso material, o Loop For não é o único laço de repetição presente na linguagem Java. São três os principais tipos existentes, e cada um deles carrega sua especificidade diante a resolução de problemas durante o desenvolvimento de softwares. Veja quais são eles.
Loop For simples
O laço For é recomendado para ser usado quando temos um número fixo de iterações necessárias para o loop. Com isso, é possível iterar partes de nosso programa, assim como mostramos anteriormente, quando explicamos o que é o laço For.
Sintaxe
Aqui, também não temos surpresa. Como esse é o laço mais comum de ser visto, o seu funcionamento é igual ao que já trazemos:
for(inicialização da variável; condição; alteração da variável) {
[comando]
}
Exemplo de uso
O Loop For mais simples também tem usos variados no dia a dia — confira um exemplo de como fazer uma contagem regressiva em uma variável declarada usando o recurso:
public class forSimples{
public static void main(String[] args) {
for(int count=10 ; count >= 1; count--){
System.out.println(count);
}
}
}
Aqui, programamos que a alteração da variável — diminuir 1 do valor total — seja realizada a cada vez que seja identificada com o valor de 1, ou maior. Nesse caso, a declaramos com o valor de 10.
Esse nosso pequeno programa vai nos retornar a seguinte saída:
10
9
8
7
6
5
4
3
2
1
For-each
For-each pode ser traduzido como “para cada”. É um laço For que busca uma correspondência pré-determinada para funcionar.
Em outras palavras, em vez de declarar uma variável para contar os loops que serão usados durante a operação, você vai declarar o tipo da variável seguido do nome do array — estrutura de dados responsável pelo armazenamento de variáveis — utilizado durante a execução da aplicação.
Sintaxe
for (tipo da variável: array)
{
comandos usando a variável;
}
Exemplo de uso
O Loop For-each é bastante utilizado para iteração de arrays ou, até mesmo, coleções. A seguir, trazemos um exemplo de sua utilização:
public class Meu_For_Each_Exemplo
{
public static void main(String[] arg)
{
{
int[] pontos = { 101, 102, 95, 106, 160 };
int h_pontos = maximum(pontos);
System.out.println("A melhor pontuação é " + h_pontos);
}
}
public static int maximum(int[] numbers)
{
int pontMax = numbers[0];
for (int num : numbers)
{
if (num > pontMax)
{
pontMax = num;
}
}
return pontMax;
}
}
No exemplo, pedimos para nosso programa avaliar, em um array, qual seria a melhor pontuação possível dentro daquele grupo de dados. A resposta da execução do código apresentado seria a seguinte:
A melhor pontuação é 160
Loop For marcado
Saiba que também podemos reservar um nome para ser usado para cada um dos loops que utilizamos em nossos programas em Java. Usar o Loop For marcado é como adotar um rótulo específico para aquele laço de iteração.
Fazer isso facilita que você execute determinado loop sem precisar reescrevê-lo. Muitas vezes, precisamos colocar um loop dentro de outro para criação de determinadas funções em nossas aplicações — nesse caso, o Loop For marcado será bastante utilizado.
Sintaxe
nomedoLoop:
for(inicialização; condição; alteração da variável) {
//comando
}
Exemplo de uso
public class loopForMarcado {
public static void main(String[] args) {
xx:
for(int i = 1; i <= 3; i++) {
yy:
for(int j = 1; j <= 3; j++) {
if(i == 2 && j == 2) {
break xx;
}
System.out.println(i + " " + j);
}
}
}
}
Aqui neste exemplo, temos um Loop For marcado, funcionando como um loop dentro de outro. Repare no nome que damos aos loops, “xx” e “yy”.
A saída do código apresentado será a seguinte:
1 1
1 2
1 3
2 1
Quais as diferenças entre While e For na linguagem Java?
“While” é uma palavra inglesa que significa “enquanto”, em português. Dessa forma, queremos que haja (ou não) alguma alteração em determinada variável “enquanto” ela é definida por determinado valor, explicando da forma mais simples possível.
Às vezes, não desejamos que nosso programa opere “enquanto” determinada variável apresenta certo valor, mas, sim, que ela se modifique por um número predeterminado de vezes.
Por exemplo, quando temos um array de 100 elementos e queremos contabilizá-los, usaremos um laço For para incrementar +1 em nossa variável que usamos como contador de cada um dos loops. Já o While será usado para que determinado comando seja executado enquanto um requisito está ou não sendo atendido.
Resumindo, o While em Java funciona da seguinte forma:
while (!condicaoQualquer()){
// comandos que adicionam ou removam elementos
}
Manipulando Loops For Java! 4 exemplos práticos
Para ajudar a compreender ainda mais sobre o funcionamento do Loop For em Java, trazemos 4 exemplos práticos sobre como implementar esses recursos nos seus códigos. Confira, a seguir!
1. Loop Infinito
public class LOOPINF
{
public static void main(String args[])
{
int x;
for( x = 10 ; ; x-- )
System.out.println(x);
}
}
Neste exemplo, veremos uma série infinita de números iniciando por 10, subtraindo o valor de 1 a cada loop, resultando em uma série sem fim de números negativos depois que o contador passou por 0. Se sua máquina estiver com pouca memória, aconselhamos não testá-lo, ok?
2. Atualização e inicialização múltipla de variáveis
Podemos tanto inicializar a execução de uma variável quanto atualizá-la no próprio loop. Por exemplo:
public class Exemplo1
{
public static void main(String args[])
{
int x1 = 1;
for(long x2=0, y = 0; x1 < 10 && x2 < 10; x1++, x2++)
{
System.out.println("O valor de x2 é: " +x2);
}
System.out.println("O valor de x1 é: " +x1);
}
}
Repare, no código, que as variáveis são atualizadas e modificadas conforme são executadas pelo loop — o que resulta na seguinte saída:
O valor de x2 é: 0
O valor de x2 é: 1
O valor de x2 é: 2
O valor de x2 é: 3
O valor de x2 é: 4
O valor de x2 é: 5
O valor de x2 é: 6
O valor de x2 é: 7
O valor de x2 é: 8
O valor de x1 é: 10
3. Empty Loop (ou Loop For vazio)
Quando não temos comandos ou alterações nas variáveis em nosso Loop For, chamamos de um loop vazio. Por exemplo:
for( x = 0 ; x <= 10 ; x++) ;
Repare que o loop apresentado não contém nenhuma declaração, apenas a alteração da variável x enquanto ela for menor ou igual a zero, adicionando o valor de +1 para x.
Esse tipo de loop é utilizado em aplicações em que precisamos apenas alterar o valor de alguma variável, deixando o restante do programa como está. Também pode ser usado em casos específicos em que temos a necessidade de incluir algum atraso durante o processamento de nosso código.
4. Loop com múltiplas declarações e instruções
Podemos escrever múltiplas instruções ou declarar múltiplas variáveis em nossos laços For. É importante saber que cada uma é realizada na sequência em que é executada pelo código.
Veja, a seguir, um exemplo para melhor entendimento:
public class nossoMultLoop
{
public static void main(String args[])
{
int a,sum;
for(a = 1 , sum = 0; a <= 5; ++a)
{
//repare que o loop tem várias instruções
System.out.println("O valor de a agora é : "+a) ;
sum = sum + a;
}
System.out.println("A soma dos números é " +sum) ;
}
}
O resultado de saída desse código seria:
O valor de a agora é : 1
O valor de a agora é : 2
O valor de a agora é : 3
O valor de a agora é : 4
O valor de a agora é : 5
A soma dos números é 15
Como vimos no decorrer de nosso guia, o laço For em Java deve ser aprendido pelos programadores iniciantes que pretendem usar a linguagem Java na construção de suas aplicações. Conferimos, também, que o Loop For pode ser mais adequado para o uso em algumas aplicações do que outros recursos, como o loop While.
Ademais, pudemos ver diversos exemplos práticos de como aplicar essa função de maneira bem simples — percebemos que a manipulação do Loop For em Java pode não ser tão complicada quanto parece. Com prática, qualquer um que se dedicar será capaz de aplicá-la em seu dia a dia como desenvolvedor.
Que tal aprender mais sobre a linguagem Java e se preparar para o mercado de desenvolvimento com a Trybe? Faça agora mesmo sua inscrição em nosso processo seletivo e prepare-se. Se por acaso ainda estiver com alguma dúvida, entre em contato conosco — saiba que estamos sempre preparados para ajudar você na sua evolução no mercado de desenvolvimento.