ecplise调试时在Expression窗口中添加对赋值语句的监视时,程序中变量值发生异常变化

在熟悉和测试Ecplise调试的方法的过程中,发现如果对程序中赋值语句进行监视“watch”,变量值的变化会很奇怪。
比如
[code=
java]public static void main(String[] args) {
        int a = 1;
        for (init i = 0; i < 10; i++) {
                a = a + 1;
        }
        System.out.println(a);
}[/code]
我在对“a = a + 1;”进行监视的时候发现调试程序在正常的逐句执行之外还会在每次正常执行后都调用一次"a = a + 1"。
这个原因是什么呀?找了好多关于调试的文章好像都没说到expression窗口中是怎么工作的文章。

应该会调用10次,因为要过for循环

调用10次 a=11 watch了一下 没什么问题

这是当时出现问题是的照片,不是很清晰。图片