¿Cómo funcionan los operadores postincremento (i++) y preincremento (++i) en Java?
¿Puedes explicarme el resultado de este código Java?
int a=5,i;
i=++a + ++a + a++;
i=a++ + ++a + ++a;
a=++a + ++a + a++;
System.out.println(a);
System.out.println(i);
La salida es 20 en ambos casos.
Aceptado
++a
incrementa y luego usa la variable.
a++
utiliza y luego incrementa la variable.
Si usted tiene
a = 1;
y lo hace
System.out.println(a++); //You will see 1
//Now a is 2
System.out.println(++a); //You will see 3
codaddict explica su fragmento particular.
¿Esto ayuda?
a = 5;
i=++a + ++a + a++; =>
i=6 + 7 + 7; (a=8)
a = 5;
i=a++ + ++a + ++a; =>
i=5 + 7 + 8; (a=8)
El punto principal es que ++a
incrementa el valor y lo devuelve inmediatamente.
a++
también incrementa el valor (en segundo plano) pero devuelve el valor sin cambios de la variable; lo que parece que se ejecuta más tarde.