Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Dúvida no Ex. 6 da Aula 2 - Crie e use laços do tipo for, incluindo o enhanced for

Vi que tem um outro post sobre isso mas não consegui compreender ainda o motivo da resposta ter sido 0 1 1 2. Alguém poderia dar uma força?

1 resposta
solução!

Oi Celso! Tudo certo?

O que acontece é que na declaração do for temos sempre 3 partes: 1 - a inicialização de um contador, 2 - a condição para iterar e 3 - a forma como iremos iterar. Geralmente, na terceira parte, apenas incrementamos o contador (fazendo i++), mas também podemos usar outras instruções. Foi isso que foi feito no código apresentado.

Dessa forma, temos o fluxo:

  • i começa com 0 e, como i é menor que 2, entramos no for, no escopo da chave mesmo. Executamos o System.out e depois precisamos de saber como iremos iterar. E iteramos fazendo duas coisas: a primeira é incrementar o i, e a segunda é imprimir o i (com o System.out da declaração do for). Assim, i passa a valer 1 e imprimimos 1.

  • verificamos novamente se i<2, e entramos no loop. Imprimimos 1 mais uma vez (com o System.out de dentro do loop) e precisamos novamente saber como incrementar. Dessa forma, o i passa a valer 2 e imprimimos 2.

  • como 2 não é menor que 2, não entramos mais no loop e terminamos a execução.

É como se nosso loop pudesse ser reescrito assim:

class A {
    public static void main(String[] args) {
        for(int i=0; i<2; ) {
            System.out.println(i);
            i++;
            System.out.println(i);
        }
    }
}

Espero ter ajudado! Qualquer dúvida, estou à disposição :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!