【问题标题】:For Loop different type on how to code [closed]对于如何编码的循环不同类型[关闭]
【发布时间】:2014-10-17 19:05:35
【问题描述】:

您好,谁能告诉我这与 for 循环之间的区别..

int y = 3;
int sif [] = new int [150];
for(int a= 0;a<sif.length;a = a + y){
sif[a]=a;
y++;
}

还有这个:

int y = 3;
int sif [] = new int [150];
for(int a= 0;a<sif.length;a = a + y){
sif[a]=a;
}
y++;

有什么区别可以解释一下吗...

【问题讨论】:

  • ... 其中一个在循环内递增y。另一个没有。
  • 一个很好的练习是在调试器中单步调试代码,并观察变量值的变化。
  • 如果你的代码缩进得当,差别就很明显了。如果您同时执行并打印了 sif 数组,那也很明显。
  • 第一个循环完成得更快

标签: java for-loop


【解决方案1】:

第一个循环示例中的y++ 行将在循环块的每次迭代中增加y 变量。对于第二个循环示例,y 只会在整个 for 循环处理完毕后才会增加,在这种情况下只有一次,因为y++ 在 for 循环块之外。

【讨论】:

    【解决方案2】:

    最后两行应该提示您:

    一个在右大括号之前有y++,另一个在之后。首先,y 将在每次循环运行时递增,就在 a=a+y 执行之前。第二,y 将在循环结束后递增。

    【讨论】:

    • 好的,那么在for循环的顶部添加while循环怎么样,这样整个事情就会从头开始循环,但是这次y的值是3有可能吗??
    • @IvanLorenzo 是的,但是为什么要这么麻烦呢?只需使用 y=3 将 3 分配给 y。
    • 是的,但你看到我在那个程序中试图做的是让它按 2 计数直到它达到它的标记,然后它开始计数 3 直到达到第一个标记在下一个 3 6 9 中显示偶数 2 4 6 8...类似的东西
    • @IvanLorenzo 是的,只需在第二个循环中使用y=3。我强烈建议尝试“想象”这个程序会做什么。'
    猜你喜欢
    • 2017-11-02
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 2023-03-26
    • 2010-09-07
    • 1970-01-01
    • 1970-01-01
    • 2011-11-07
    相关资源
    最近更新 更多