增量运算符在运行和调试时的工作方式有所不同

时间:2019-05-23 09:56:19

标签: java debugging operators pre-increment

这是代码的一部分,在调试时很奇怪

public static void main(String[] args) { //Line-1
    int a = 5; //Line-2
    System.out.println(++a); //Line-3
} //Line-4

当我在正常模式下运行它时,输出为6,这是正确的。但是在调试时,我在Line-3处设置了一个断点,并且当我第一次检查++a的值时,它在下一次显示6时是7,8,9 ...

当我结束程序时,它在控制台中显示为10。为什么会这样?

这些解决方案C++ - Eclipse behavior is different while debugging and runningHow post Increment ++ Operator works while initialization没有给出适当的想法。

1 个答案:

答案 0 :(得分:1)

在调试模式下评估表达式++ a的值时,实际上是增加了变量。因此会影响最终结果。