Un for
bucle:
for(INIT; TEST; ADVANCE) {
BODY
}
significa lo siguiente:
INIT;
while (true) {
if (!TEST)
break;
BODY;
ADVANCE;
}
Usted puede escribir casi cualquier expresión para INIT
, TEST
, ADVANCE
y BODY
.
tenga en cuenta que los ++
operadores y variantes son los operadores con los efectos secundarios (uno debe tratar de evitarlos si no los está utilizando como i+=1
y similares):
++i
significa i+=1; return i
i++
significa oldI=i; i+=1; return oldI
Ejemplo:
> i=0
> [i++, i, ++i, i, i--, i, --i, i]
[0, 1, 2, 2, 2, 1, 0, 0]
Cant que acaba de sustituir i = i + 3 para el tercer argumento? ¿O es solo en Java? – CptJesus
Sí, está bien 'i ++' y '++ i' son como' i + = 1' si se usan en la declaración for loop así que 'i + = 3' funcionaría. – elclanrs
Un bucle 'for' no incrementa nada. Su código utilizado en la declaración 'for' hace. Depende de ti cómo/if/where/when deseas modificar 'i' o cualquier otra variable para ese asunto. –