我知道这是一个愚蠢的例子,但我确实想知道它是如何工作的.
通常,后增量给出旧值并在之后将变量加1.
int a = 1;
a = a++;
System.out.println(a);
Run Code Online (Sandbox Code Playgroud)
在第3行,它打印出"1".为什么保持不变?
根据我的理解,在第2行,右侧为变量a分配1.
后增量"++"将1加1.不应该是2而不是1吗?
您可以这样想a = a++;(在Java中):
int tmp = a;
a = a + 1;
a = tmp;
Run Code Online (Sandbox Code Playgroud)
首先a读取值,然后a递增,然后a分配您首先读取的值.这是因为表达式a++采用增量a 之前的值.然后,表达式a = ____发生,分配你在a++to 期间得到的值a.
| 归档时间: |
|
| 查看次数: |
83 次 |
| 最近记录: |