Java 单行中的多个后缀和前缀操作
我似乎无法理解为什么k的值是-10 以下是我认为应该发生的事情。根据我的计算结果应该是-5Java 单行中的多个后缀和前缀操作,java,postfix-operator,prefix-operator,Java,Postfix Operator,Prefix Operator,我似乎无法理解为什么k的值是-10 以下是我认为应该发生的事情。根据我的计算结果应该是-5 int i=0; int j = --i; int k = i++ + --i + i-- + j-- + --i + i; System.out.print("k= "+k); // k=-10 如果我错了,请纠正我 *纠正了我将i作为0而不是-1的错误后* 表达式现在的计算结果为-10(-1+-1+-1+-1+-1+-3+-3)。 谢谢 如果您正确地执行递减和递增,您将得到以下结果: intk
int i=0;
int j = --i;
int k = i++ + --i + i-- + j-- + --i + i;
System.out.print("k= "+k); // k=-10
如果我错了,请纠正我
*纠正了我将i作为0而不是-1的错误后*
表达式现在的计算结果为-10(-1+-1+-1+-1+-1+-3+-3)。
谢谢
如果您正确地执行递减和递增,您将得到以下结果:
intk=-1+-1+-1+-1+-3+-3
这等于-10如果您正确地执行递减和递增,您将得到以下结果:
intk=-1+-1+-1+-1+-3+-3
等于-10,我想你缺少了
Expression |Evaluation | Current Values
| | i=-1, j=-1
i++ | -1 | i= 0, j=-1
i++ + --i | -1 + -1 | i=-1, j=-1
i++ + --i + i-- | -1 + -1 + -1 | i=-2, j=-1
i++ + --i + i-- + j-- | -1 + -1 + -1 + -1 | i=-2, j=-2
i++ + --i + i-- + j-- + --i | -1 + -1 + -1 + -1 + -3 | i=-3, j=-2
i++ + --i + i-- + j-- + --i + i; | -1 + -1 + -1 + -1 + -3 + -3 | i=-3, j=-2
这里我转-1,然后j=-1
所以你从i=-1,j=-1值开始。我认为你缺少了
Expression |Evaluation | Current Values
| | i=-1, j=-1
i++ | -1 | i= 0, j=-1
i++ + --i | -1 + -1 | i=-1, j=-1
i++ + --i + i-- | -1 + -1 + -1 | i=-2, j=-1
i++ + --i + i-- + j-- | -1 + -1 + -1 + -1 | i=-2, j=-2
i++ + --i + i-- + j-- + --i | -1 + -1 + -1 + -1 + -3 | i=-3, j=-2
i++ + --i + i-- + j-- + --i + i; | -1 + -1 + -1 + -1 + -3 + -3 | i=-3, j=-2
这里我转-1,然后j=-1
所以你从i=-1开始,j=-1值。i在第二行变成-1,在第二行变成-1
int j = --i;