Não entendi porque o for imprime 2x o num.1 "O código compila e imprime 0 1 1 2"
Não entendi porque o for imprime 2x o num.1 "O código compila e imprime 0 1 1 2"
Priscila, Bom dia .
vamos analisar o for deste exercicio:
for(int i=0; i<2; i++, System.out.println(i))
neste caso ele está recebendo uma instrução de pós incremento e uma instrução de imprimir o a variavel i .
alterando o código para poder explicar e tentar ser mais claro a visualização :
for(int i=0; i<2; ) {
System.out.println(i); // chama-lo de 1
i++; // dentro do for
System.out.println(i); // este é o de dentro do for vou chama -lo 2
}
o for está acontecendo nessa sequencia , ok !
como ele está fazendo quando:
i = 0 , ele verifica i < 2 , então ele imprime 0 com o System.out.println (1)
depois ele incrementa i , então i = 1 , ele imprime com o segundo system.out.println (2) ( esse é o que está dentro do for ).
quando i = 1 , ele verifica novamente i < 2 , e imprime com System.out.println (1)
incrementa o i , então i = 2 , e imprimie no System.out.println(2) "(dentro do for)"
quando i = 2 , ele verifica que i < 2 , isso ele ve que não é menor que 2 e sai do for .
Espero ter te ajudado , caso foi sanada suas dúvida feche o tópico, por gentileza .
Bons Estudos
Oi Priscila, tudo bem?
Perceba que a parte do incremento do for tem duas instruções. Primeiro incrementa o valor da variável i; depois imprime o valor de i.
O incremento é realizado após os comandos dentro do corpo do for, e antes da verificação (i < 2). Então acontece o seguinte:
I. O valor de i é zero; entra no corpo do for, imprime 0; incrementa 1 em i; i agora vale um; segunda parte do incremento: imprime 1; verifica se i < 2: não é. próxima iteração.
II. Dentro do corpo do for imprime i, que é 1. até agora temos 0 1 1; entra na parte do incremento: i agora é 2; vai na segunda parte do incremento: imprime i, que é 2. verifica se i < 2, como i é igual a 2, a condição é falsa e o loop acaba.
Consegui explicar bem? Caso não, nos avisa que tento de outra forma. Abs.
Enquanto eu digitava o Celso respondeu. Rs.
Bem, espero que tenhamos ajudado. Qualquer coisa nos avise. :)
Abs.
Consegui entender sim, muito obrigada Celso e Lucas.