Diferencia entre los operadores i++ y ++i en Java
-
Operador de preincremento (
++i
) en Java -
Operador Pre-Incremento (
++i
) vs Post-Incremento (i++
) en Java
Este tutorial presenta las diferencias entre los operadores preincremento, ++i
, y postincremento, i++
, en Java.
En Java, los operadores ++i
e i++
se conocen como operadores de incremento. El ++i
se conoce como el operador de preincremento, mientras que el operador i++
se conoce como el operador de posincremento. Como su nombre lo indica, el operador de incremento posterior incrementa la variable después de ser utilizado, y el operador de incremento previo incrementa la variable antes de ser utilizado. Estos también son operadores unarios.
Hay varias formas de utilizar estos operadores, como en el bucle para incrementar la variable condicional del bucle, iterar todos los elementos de una Lista
en Java. Por ejemplo, el bucle for
, el bucle for-each
, el método forEach()
con lista o flujo, etc. Veamos algunos ejemplos.
Operador de preincremento (++i
) en Java
Los operadores de incremento se utilizan principalmente en un bucle para automatizar las iteraciones del bucle. En este ejemplo, usamos el operador de preincremento para incrementar la variable en 1 en cada iteración del bucle. Este es un ejemplo simple y no explica la diferencia adecuada de ambos operadores de incremento, pero podemos hacernos una idea de cómo podemos usar esto en el bucle. Vea el ejemplo a continuación.
public class SimpleTesting {
public static void main(String[] args) {
int[] arr = {2, 5, 6, 9, 4};
for (int i = 0; i < arr.length; ++i) {
System.out.print(arr[i] + " ");
}
}
}
Producción :
2 5 6 9 4
Operador Pre-Incremento (++i
) vs Post-Incremento (i++
) en Java
En este ejemplo, podemos ver claramente la diferencia entre los operadores de preincremento y posincremento. Usamos una variable a
y le aplicamos un incremento posterior y vemos que imprime el mismo valor que tiene porque aumenta después de usarse una vez. Y creamos una variable b
que imprime el valor incrementado porque aumenta antes de ser utilizado. Vea el ejemplo a continuación.
public class SimpleTesting {
public static void main(String[] args) {
int a = 1;
System.out.println(a++);
int b = 1;
System.out.println(++b);
}
}
Producción :
1
2