int num=0
for(int i=0;i<5;i++)
{
num = num++;
system.out.println(num);
}
我对上述程序的输出感到困惑。它在输出中打印五次0。为什么num
变量在循环中没有递增?
答案 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++
就是正确的方法。
答案 2 :(得分:0)
您应该知道num++
和++num
之间的区别。在您的情况下,首先num
设置为0.当您说num = num++;
时,它首先将0分配给num
(左边一个),然后应用++。等式的正确部分究竟做了什么并不重要......这就是你得到5 0的原因。