viernes, 17 de enero de 2014

cual es la diferencia ++i y i++

Cual es la diferencia entre i++ y ++i

La diferencia es sencilla y se encuentra en la PRECEDENCIA DEL OPERADOR (lo cual es muy importante si estas haciendo asignaciones).

Un ejemplo práctico:

Supongamos que tenemos lo siguiente:

i=5; // i vale 5
j=5 // j vale 5
a = i++ // a vale 5, i vale 6
b = ++j // b vale 6, j vale 6

¿Por qué a vale 5 y b vale 6?

a = i++ , esto significa que PRIMERO ASIGNAMOS el valor de i a la variable a (por eso a=5) y LUEGO INCREMENTAMOS el valor de i (i=6)

a=i++;
significa:
a=i;
i++;

b= ++j, esto significa que PRIMERO INCREMENTAMOS el valor de j (j=6) y LUEGO ASIGNAMOS EL VALOR INCREMENTADO de j a la variable b (por eso b=6)

b=++j;
significa;
j++;
b=j;


En resumen:

i++: primero asigno, luego incremento
++i: primero incremento, luego asigno el valor incrementado

Una nota importante es que si no haces asignación, es lo mismo i++ que ++i, por ejemplo.

i=5;
j=5;

i++; // i vale 6
++j; // j vale 6

No hay comentarios:

Publicar un comentario