Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Dúvida nos dois "for"

Sei que poderia colocar o "System.out.println(idades[i])" no primeiro "for" que teria o mesmo resultado.

public class TesteArrayDePrimitivos {

    public static void main(String[] args) {

        int[] idades = new int[5];

        for (int i = 0; i < idades.length; i++) {
            idades[i] = i * i;
              System.out.println(idades[i]);
        }

    }

}

Mas o instrutor fez separado.

public class TesteArrayDePrimitivos {

    public static void main(String[] args) {

        int[] idades = new int[5];

        for (int i = 0; i < idades.length; i++) {
            idades[i] = i * i;
        }

        for (int i = 0; i < idades.length; i++) {
            System.out.println(idades[i]);
        }

    }

}

E a minha dúvida e a seguinte: Um "for" interage com o outro? O segundo "for" não teria que estar dentro do modulo do primeiro para ter acesso ao "idades[i] = i * i" ? Como o segundo "for" pega o "idades[i] = i * i" do primeiro?

3 respostas
solução

Um "for" interage com o outro apenas se tiver um dentro do outro.

Porém, veja que nesse exemplo "idades" está sendo declarado fora dos dois fors:

int[] idades = new int[5];

portanto ambos os "fors" tem acesso a "idades".

O primeiro for atualiza "idades" com os valores da multiplicação.

O segundo for lê os valores que estão em "idades" que o primeiro "for " escreveu.

Como "idades" foi declado fora dos dois "fors", ambos tem acesso a "idades".

Verdade, nem me atentei a isso! Obrigado Otávio

Por nada Sérgio

Abraço!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software