有一个关于Java增量工作的问题,我无法理解他在这些表达式中如何考虑它的逻辑:
int a = 5;
int b = 5;
int c = 5;
int d = 5;
int e = 5;
int f = 5;
a += a++; //10
b += b++ + ++b + b++; //24
c = c++ + c++; //11
d = d++ + ++d + d++ + ++d; //28
e += e++ + ++e + e++ + ++e; //33
f = f++; //5
最重要的是带有变量a
and的表达式f
,我想了解它在 JVM 中是如何工作的
一步一步举个例子
a += a++;
a
递增并等于 6a
要理解这一点,您需要知道 i++ 和 ++i 之间的区别。在第一种情况下,我们首先返回 i 的值,然后将其加一,在第二种情况下,我们将 i 的值加一然后返回。了解了这些之后,一切就都清楚了;)