Como funciona a = a ++ em java [duplicado]

Esta pergunta já tem uma resposta aqui:

post incremento de comportamento [duplicado] 4 respostas

Recentemente me deparei com este pedaço de código Java:

int a=0;
for(int i=0;i<100;i++)
{
    a=a++;
}
System.out.println(a);

O valor impresso para 'a' é 0. No entanto, no caso de C, o valor para 'a' é 100.

Não consigo entender por que o valor é 0 no caso de Java.