i = 4; i = i++; Regardless of whether the increment of the assignment comes first, i == 5 afterwards. Think: If the increment comes first: i++ (so i == 5) i = i (so i == 5) If the assignment comes first: i = i (so i == 4) i++ (so i == 5)