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

Dúvida no Ex. 13 da Aula 7 - Casting

No caso do programa abaixo, não deveria dar erro pois a variável i não foi inicializada? Pelo o que eu havia entendido, o compilador não tem certeza que variáveis dentro do for serão inicializadas.


    public static void main(String[] args) {
        int i;
        for (i = 0; i < 5; i++) {
            if (++i % 3 == 0) {
                break;
            }
        }
        System.out.println(i);
    }
1 resposta
solução!

Oi Núbia, tudo bem?

Neste caso sim! Repare que o for com certeza será executado e atribuirá valor a variavel i.

Se houver algo impedindo a execução do for, por exemplo, uma condicional:

int x = 2;
int i;

if(x > 2) {
   for (i = 0; i < 5; i++) {
       if (++i % 3 == 0) {
             break;
       }
   }
}
System.out.println(i);

O compilador reclamará na linha do System.out.println, já que ele não tem certeza de que o for será executado.

Tudo bem? Abraços!