而⇋为可兑换性和可行性

时间:2017-05-10 04:19:06

标签: for-loop while-loop

我们知道whilefor是许多编程和脚本语言中最常用的循环语法。在这里,我想问一些关于使用while vs for循环的可兑换性和可行性的问题。

forwhile,反之亦然转换或转换总是可行的吗?我的意思是假设一个人使用while循环来表示某些功能,我想用while替换for或反之亦然,那么转换/转换的时候总是可以((也感兴趣知道可行性)?如果对此进行任何研究,我可以参考这将是有帮助的。

我也有兴趣获得使用while vs for的一般指导。还想知道while是否比for有一些优势,反之亦然。

注意:关于日志时间这个问题,我认为 - 这是一个很棒的编程网站,这个问题在这里很有用。如果这个问题不合适。我不确定这个问题是否可以接受,所以要求将其视为自由主义;你可以要求我删除如果这样的问题会损害网站的质量:)

1 个答案:

答案 0 :(得分:1)

我将回答使用Java作为参考,尽管这个答案也应该对C,C#,C ++和其他许多人完全有效。如果我们考虑以下for循环:

for (int i=0; i < 10; ++i) {
    // do something, maybe involving i
}

我们可以看到循环有3个组件:

int i=0;     initialization of loop counter
i < 10       criteria for loop to execute
++i          increment to loop counter

以下while循环在功能上等同于上述for循环:

int i=0;
while (i < 10) {
    // do something, maybe involving i
    ++i;
}

我们可以看到这个while循环和for循环之间的主要区别在于循环计数器的声明和初始化在前一种情况下在循环之外。此外,我们在实际while循环内增加循环计数器。继续检查循环仍然在循环结构中完成,就像for循环一样。

因此可以将for循环视为增强的while循环的排序。它使我们不必在循环外创建一个循环计数器,我们也可以在循环结构中增加/更改循环计数器,而不是将这些逻辑与循环体的代码混合。