wldomiciano 2 de abr. de 2016 1 like
Tem corpo sim. Seu corpo é representado pelo ponto e virgula.
Ele é como qualquer outro, parará quando i for maior que 5. Já que i começa em 1, sabemos que fará cinco iterações antes de parar.
Seu código está incompleto, mas vamos imaginar que a variável sum começa com o valor 0;
1º iteração
sum começa com 0 e i começa com 1
sum recebe sum (que é 0) + i (que é 1), ou seja, 1
i é incrementado (passa a ser 2)
2° iteração
sum é 1 e i agora é 2
sum recebe sum (que é 1) + i (que é 2), ou seja, 3
i é incrementado (passa a ser 3)
3° iteração
sum é 3, i é 3
sum recebe 6 (sum + i)
i passa a ser 4
4° iteração
sum é 6, i é 4
sum recebe 10 (sum + i)
i passa a ser 5
5° iteração
sum é 10, i é 5
sum recebe 15 (sum + i)
i passa a ser maior que 5 e o loop termina e imprime 15
Quando tiver dúvidas assim você pode fazer testes, tente isso:
int sum = 0 ;
for ( int i = 1 ; i <= 5 ; sum += i ++ ) {
System . out . printf ( "i = %d | sum = %d\n" , i , sum );
}
E você terá a seguinte saida:
i = 1 | sum = 0
i = 2 | sum = 1
i = 3 | sum = 3
i = 4 | sum = 6
i = 5 | sum = 10
Sum is 15
O printf dentro do for só não vai mostrar o valor final de sum (que é 15), pois o loop acaba antes de imprimí-lo.
Espero ter ajudado.