Java - преобразования char, int
В Java допускается следующее:
char c = 'A' + 1;
Здесь c будет содержать значение «B», Выше сначала вычисляется выражение. Так что «А» преобразуется в 65, все выражение оценивается в 66, а затем 66 преобразуется в «B» так как мы храним значение в символе.
Следующее, однако, дает ошибку во время компиляции:
char c = 'A';
c = c + 1;
Чем объясняется то, как Java воспринимает выражения по-разному? Кстати, тоже работает нормально:
char c = 'A';
c++;