Почему в java результатом i += i++ будет 0?
i++ - постфиксный инкремент. Так как тут нету прибамбасов с точкой следования из C++ и C, тут однозначно получится:
i+=i++ можно без проблем переписать как 
result=i+i++
считаем постфиксный инкремент i++, это значит берем из i 0, теперь увеличиваем i на 1
result=0+0 
i=1
считаем сложение 0 + 0 (то значение, которое было в i перед вычислением выражения, и то, что мы вытащили при префиксном инкременте)
result=0
i=1
теперь записываем в i результат прибавления 0 к 0, перетирая ранее записанную туда 1.
i=result //тут в i запишется 0
Вычисляется сумма i + i. Получаем 0Выполняется инкремент i. i = 1i Присваивается значение из вычисления в п.1
Не используйте неоднозначные конструкции