Diferença entre operadores i++ e ++i em Java
-
Operador de pré-incremento (
++i
) em Java -
Operador de pré-incremento (
++i
) vs pós-incremento (i++
) em Java
Este tutorial apresenta diferenças entre os operadores pré-incremento, ++i
e pós-incremento, i++
em Java.
Em Java, os operadores ++i
e i++
são conhecidos como operadores de incremento. O ++i
é conhecido como o operador de pré-incremento, enquanto o operador i++
é conhecido como o operador de pós-incremento. Como o nome indica, o operador pós-incremento incrementa a variável depois de ser usada e o operador pré-incremento incrementa a variável antes de ser usada. Esses são operadores unários também.
Existem várias maneiras de usar esses operadores, como no loop para incrementar a variável condicional do loop, iterar todos os elementos de uma List
em Java. Por exemplo, o loop for
, o loop for-each
, o método forEach()
com lista ou fluxo, etc. Vamos ver alguns exemplos.
Operador de pré-incremento (++i
) em Java
Os operadores de incremento são usados principalmente em um loop para automatizar as iterações do loop. Neste exemplo, usamos o operador de pré-incremento para incrementar a variável em 1 em cada iteração do loop. Este é um exemplo simples e não explica a diferença adequada de ambos os operadores de incremento, mas podemos ter uma ideia de como podemos usar isso no loop. Veja o exemplo abaixo.
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] + " ");
}
}
}
Resultado:
2 5 6 9 4
Operador de pré-incremento (++i
) vs pós-incremento (i++
) em Java
Neste exemplo, podemos ver claramente a diferença entre os operadores pré-incremento e pós-incremento. Usamos uma variável a
e aplicamos o pós-incremento a ela e vemos que ela imprime o mesmo valor que contém porque aumenta depois de ser usada uma vez. E criamos uma variável b
que imprime o valor incrementado porque aumenta antes de ser usado. Veja o exemplo abaixo.
public class SimpleTesting {
public static void main(String[] args) {
int a = 1;
System.out.println(a++);
int b = 1;
System.out.println(++b);
}
}
Resultado:
1
2