Java中的字符不会随着帖子的增加而更新

时间:2018-10-13 12:16:50

标签: java

我想得到下一个字符,我正在编写这样的代码

char c = 'A';
c = c++;
System.out.println(c);

打印的字符是A。但是,如果我使用带'c'的预递增运算符,则会得到下一个字符(B)。这是带有预增量运算符的代码。

char c = 'A';
c = ++c;
System.out.println(c);

有人可以解释差异吗?

2 个答案:

答案 0 :(得分:2)

如果将结果分配回变量,则增量运算符没有意义。做

c = c++;

获取c++的返回值'A',并将其分配给c。相反,只需做

c++;  // or ++c

您可能要这么做

System.out.println(++c);  // prints 'B', and |c| is now 'B'

答案 1 :(得分:0)

java.time表示,首先将使用当前值,然后将其递增。因此,它首先打印当前值

c = c++;

翻译为:

c = c++;
System.out.println(c);

,因此将打印值c = c; // since the actual value is returned first System.out.println(c);

A

翻译为

c = ++c;
System.out.println(c);