Неправильно используется оператор post-increment - вам также не нужно использовать назначение. И в этом случае это подрывает то, что вы пытаетесь сделать.
Для контекста помните, что оператор post-increment увеличивает значение, и возвращает старое значение. То есть, x++
примерно эквивалентен:
int x_initial = x;
x = x + 1;
return x_initial;
Надеется, что теперь вы можете понять, почему ваш код не удается изменить x
. Если развернуть его, он выглядит следующим образом:
char x= 'A';
char y;
{
y = x;
x = x + 1;
}
x = y;
System.out.println(x);
и чистый эффект задания, чтобы установить x
обратно к тому, что он был изначально.
Чтобы исправить - вы можете просто позвонить x++
. Или, если вы хотите дать понять, что происходит какое-то задание, x += 1
или даже просто x = x + 1
будет делать то же самое.
Что делать, если ваша строка 'x = x ++;' просто указана 'x ++;'? Что происходит тогда? –
Он сделал. Тем не менее, он не увеличивался до * назначения *. –