Head First Java程序说明

时间:2015-10-23 10:13:18

标签: java

我的计划和问题在下面

public class test {
    public static void main(String[] args) {
            int x = 0;
            int y = 0;
            while ( x < 5 ) {
                y = x - y;
                System.out.println(x + "" + y);
                x = x+1;
            }
        }
    }

因此输出为00 11 21 32 42.我明白当x是偶数时会发生什么,但是当x是奇数时会发生什么?让我们转到第2步,使x = 1,然后我们得到

 y=1-y 
2y=1
 y=1/2

对我来说输出应该像11/2或者那样 那么地狱的输出怎么样是11?我们使用近似值吗?谢谢你的回答。

3 个答案:

答案 0 :(得分:5)

没有。你理解错了。你正在做数学保持对Java表达式的评估。

  y = x - y;

表示

y= 1-0;

哪个是

y = 1

答案 1 :(得分:2)

您的代码没有任何结果,结果是正确的。当x为1时,我们将y设置为等于x - y。这意味着xy都是1,因为1 - 0是1.请记住编程中的a = b是一个赋值,并不意味着相等。

答案 2 :(得分:1)

难道不是很明显吗?通过&#34; =&#34; 将新值分配给变量。

    x = 0, y = 0
    y = 0 - 0 = 0
    print x y -> 0 0
    x = 1, y = 0
    y = 1 - 0 = 1
    print x y -> 1 1 
    x = 2, y = 1
    y = 2 - 1 = 1
    print x y -> 2 1

等...