[quote=sergiotaborda][quote=mario.fts][quote=pedroroxd]Só para saber…
Qual a diferença de
for (int i = 3; i <= n/2; i+=2) {
e
for (int i = 3; i <= n/2; i=i+2) {
nenhuma. o resultado é o mesmo.[/quote]
O resultado é o mesmo mas ha uma diferença sim
i++ é uma operação só, unica.
i= i + 1 são 2 operações , a soma e a atribuição.
i+=1 é apenas um atalho para i = i + 1
Ou seja, os comandos que a JVM invoca são diferentes embora o resutlado seja o mesmo[/quote]
Não tenho certeza. Olhando o bytecode gerado, a tradução é igual tanto para i++, i+=1 e i = i +1.
0 iconst_0
1 istore_0
2 iinc 0 by 1
5 return
esse é o bytecode gerado para estes tres métodos
private static void teste1() {
int ctOne = 0;
ctOne++;
}
private static void teste2() {
int ctTwo = 0;
ctTwo = ctTwo + 1;
}
private static void teste3() {
int ctThree = 0;
ctThree += 1;
}