在java中for循环后增加

时间:2016-08-19 19:09:37

标签: java post-increment

int num=0

for(int i=0;i<5;i++)
{
    num = num++;
    system.out.println(num);
}

我对上述程序的输出感到困惑。它在输出中打印五次0。为什么num变量在循环中没有递增?

3 个答案:

答案 0 :(得分:1)

num++将返回num的当前值(即0),然后递增num。但是,由于您将其重新分配给num,因此您使用之前的值覆盖增量,因此整个程序中num仍为0

答案 1 :(得分:0)

你需要用++ num增加。例如:

int num=0;

for(int i=0;i<5;i++)
{
    num = ++num;
}

System.out.println(num);

输出:

5

虽然您不需要每次都重新分配它,但仅num++就是正确的方法。

参见上一个回答:Difference between ++var and var++

答案 2 :(得分:0)

您应该知道num++++num之间的区别。在您的情况下,首先num设置为0.当您说num = num++;时,它首先将0分配给num(左边一个),然后应用++。等式的正确部分究竟做了什么并不重要......这就是你得到5 0的原因。