减法(初级)

Subtraction (beginner)

public class Main {

public static void main (String[] args) {
    int x = 0;
    int y = 0;

    while (x < 5) {

        y = x - y;
        System.out.print(x + y);
        x = x + 1;
    }
}
}

当我自己计算这个数学的时候。我得到这些答案:

01122

但是当我编译它的时候。我得到答案

02356

我只是不明白。有人可以解释一下吗?

你正在打印 x+y 而不是 y

0+0=0 ; 1+1=2; 1+2=3; 2+3=5; 2+4=6

02356

在第一次迭代中 x=0,y=0 所以 x-y = 0 = y 和 x+y=0 所以 0 将被打印。 在第二次迭代中 x=1,y=0 所以 x-y = 1 = y 和 x+y=2 所以 2 将被打印。 因此 x 和 y 将被更新。

在您的计算中,您没有更新 y

使用debug,你会看到迭代是正确的,因为你是在x+y操作加法后操作x值