Java表示以下计算的结果是-24。 但不是 --(-3)*(6)++ == -4*7 == -28 吗?
public int rechnung3()
{
int k = -3;
int i = 6;
return --k*i++;
}
最佳答案
否,因为后缀增量发生在表达式求值之后。因此本质上,i
仅在结果存储到堆栈后才会递增。
所以发生的事情相当于这样:
int k = -3;
int i = 6;
k = k -1; // --k makes k = -4
int tmp = k * i; // a temporary location stores the value of (--k) * i = -24
i = i + 1; // i++ increments i, now i = 7
return tmp; // returns -24 (the result from the auxiliary location)
关于java - 使用增量运算符进行计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21689510/