Oioi João Pedro! Tudo bem com você?
Vamos começar com um exemplo menor. Suponha que queremos imprimir os números 1 a 3. Para isso, podemos fazer o código:
for(int i = 1; i < 4; i++){
System.out.println(i);
}
Foi feito o seguinte: na primeira linha do for, foi criada uma variável i com valor 1. O for é um tipo de laço de repetição, então ele precisa de uma condição pra parar, certo? Senão ele vai rodar infinitamente, e a gente não vai ver o que aconteceu com o programa. Nesse caso, quando fazemos i<4, essa é a condição para parar. Enquanto i for menor que 4, o que acontece dentro das chaves vai ser executado. No nosso programa, é quando imprimimos o i. Depois de executar o que está lá dentro, precisamos atualizar o i, pra trabalhar com valores diferentes. Senão ficaríamos para sempre no i=1 e não iríamos imprimir o 2 e o 3. Para isso que serve o i++ na declaração do for.
Agora um exemplo com o for aninhado (um dentro do outro):
for(int i = 1; i < 4; i++){
for(int j = 5; j < 7; j++){
System.out.println(ij);
}
}
Nesse caso, funciona da mesma forma, mas temos duas variáveis para trabalhar. O fluxo seria o seguinte:
- começa com i = 1. Como 1<4, então ele entra no for.
- temos outro for. Ele começa com j=5. Como 5<7, ele também entra no for.
- lembra que a variável i=1? Ela ainda não foi atualizada. Então vai ser impresso o número 15.
- o j é incrementado. Assim, agora j vale 6. Repara que não estamos mexendo no i ainda. Fazemos todo o for de dentro para depois mexer no de fora. Assim, j= 6, e como 6<7, entramos de novo no loop.
- imprimimos 16 e incrementamos o j. Agora o j vale 7. Como 7 não é menor que 7 (porque é igual), nosso loop acabou.
- saímos do loop interno e vamos para o de fora. Agora sim incrementamos o i.
- i=2, e como 2<4, entramos no loop externo. Caímos no loop interno de novo.
- imprimimos 25 e 26, e saímos do loop interno.
- seguimos a lógica, incrementando o i, e terminamos imprimindo 35 e 36, e o fluxo termina.
Desculpa o textão hahaha, espero que tenha ficado mais claro! Fica tranquilo que esse entendimento vai acontecendo à medida que você praticar. Acho que uma forma de entender, é pegar papel e caneta e ir anotando os passos que o programa faz à medida que o loop é executado, de uma forma parecida com o que eu fiz de exemplo. Inclusive, você pode começar por esse código que apresentou aqui!
Qualquer dúvida, estou aqui. Fique à vontade para perguntar!
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!