Diferença entre operadores i++ e ++i em Java

Mohammad Irfan 12 outubro 2023
  1. Operador de pré-incremento (++i) em Java
  2. Operador de pré-incremento (++i) vs pós-incremento (i++) em Java
Diferença entre operadores i++ e ++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

Artigo relacionado - Java Operator