任何人都可以向完整的初学者解释这个java练习的输出吗?

时间:2015-07-09 12:43:18

标签: java

我是Java的新手,我正在尝试理解以下代码的逻辑。任何人都可以向我解释如何

y = x - y;

给出输出0 0 1 1 2 1 3 2 4 2

class MyFirstApp {

    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;
        }
    }
}    

2 个答案:

答案 0 :(得分:1)

你必须把纸和笔/铅笔弄掉,才能学习编码家伙的逻辑。这次我会帮助你,但是为了让你开始。

第一次通过

x = 0   y = 0
y = x - y = 0 - 0 = 0
x = x + 1 = 0 + 1 = 1

第二次通过

x = 1   y = 0
y = x - y = 1 - 0 = 1
x = x + 1 = 1 + 1 = 2

第三次通过

x = 2   y = 1
y = x - y = 2 - 1 = 1
x = x + 1 = 2 + 1 = 3

第四次通过

x = 3   y = 1
y = x - y = 3 - 1 = 2
x = x + 1 = 3 + 1 = 4

最后时间

x = 4   y = 2
y = x - y = 4 - 2 = 2
x = x + 1 = 4 + 1 = 5

在我看来,通过这样的逻辑是了解它在代码中如何工作的最佳方式

答案 1 :(得分:0)

while ( x < 5 ) {

    y = x - y;


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

作为x=0,此循环将执行到x>=5,并且在每次迭代中都会打印xy的值。您会注意到,在每次迭代结束时,变量x将递增。因此循环将执行5次。

屈服: 第一次迭代:x = 0,y = x - y = 0 - 0 = 0,从而显示0 0。 在第二次迭代中,x = 1,y = x - y = 1 - 0 = 1,因此打印1 1 等等