后增量JAVA

时间:2014-03-04 14:30:48

标签: java

以下代码的输出是什么。

class x {
    psvm(){
        int j=0;
        for(i=0;i<=100;i++)
            j=j+1;
        sop(j); 
    }
}

4 个答案:

答案 0 :(得分:0)

for(i=0;i<=100;i++)

这将i = 0 - &gt; i = 100 101 次迭代。如果您只需要100次迭代,则需要以下任何一种:

for (i = 0; i < 100; i++) // note: < only: 0 -> 99 = 100 iterations.
for (i = 1; i <= 100; i++) // note: change of starting point: 1 -> 100 = 100 iterations

评论后续:

此代码:

j = j++;

的功能等价物
temp = j;  // save current value of j, e.g 0 
j = j + 1; // increment j, e.g. j becomes 1
j = temp;  // put saved value into j, e.g. j goes back to 0

如果你做完了:

j = ++j;

那么它就是

temp = j
temp = temp + 1
j = temp

或字面上只是

j = j + 1

答案 1 :(得分:0)

您的比较是i<=100。你的初始位置是0.这两个结合在一起给你101次循环。

尝试i<100

答案 2 :(得分:0)

for(i=0;i<=100;i++)

完成101次迭代,因为您从0开始,以100结束(不是100之前!)

答案 3 :(得分:0)

将j递增1并将值设为j:

i    j
0    1
1    2
....
100  101

我认为很清楚。

BTW你自己主动写j = j++吗?如果你只是想锻炼你的技巧,那就没关系。但从不使用这种技术是真正的代码。

看看代码格式约定。您的代码看起来几乎混淆了。很难阅读和理解它。