Gostaria de saber porque esse codigo está gerando um loop infinito, visto que deveria exibir uma sequência de 0 à 10, pois a representação "i++" é igual a "i = i+1"
O ++i eh incrementado e depois eh usado na expressão, o i++ eh usado na expressão e depois incrementado. Talvez isso esteja causando problema, tente depurar o código para obter mais informações.
Com i++, o valor antigo de i é usado na expressão, e o incremento é a última operação a ocorrer.
Por exemplo:
int x[] = {0,1,2,3};
int i = 0;
System.out.println(x[i++]); //Vai imprimir x[0]
System.out.println(i); //Imprime i=1, o incremento ocorreu após o comando acima
A expressão
i = i++
É uma das poucas em Java que tem comportamento indefinido, pois o = também é o último a ser avaliado numa expressão. Então, fica difícil dizer se a operação ocorrerá antes ou depois de i++, ou mesmo numa situação esdruxula (o valor a ser atribuído no = ser avaliado antes, o incremento ocorrer, e em seguida a atribuição ser feita, como parece ter sido seu caso).