我们知道while
和for
是许多编程和脚本语言中最常用的循环语法。在这里,我想问一些关于使用while
vs for
循环的可兑换性和可行性的问题。
for
到while
,反之亦然转换或转换总是可行的吗?我的意思是假设一个人使用while
循环来表示某些功能,我想用while
替换for
或反之亦然,那么转换/转换的时候总是可以((也感兴趣知道可行性)?如果对此进行任何研究,我可以参考这将是有帮助的。
我也有兴趣获得使用while
vs for
的一般指导。还想知道while
是否比for
有一些优势,反之亦然。
注意:关于日志时间这个问题,我认为 - 这是一个很棒的编程网站,这个问题在这里很有用。如果这个问题不合适。我不确定这个问题是否可以接受,所以要求将其视为自由主义;你可以要求我删除如果这样的问题会损害网站的质量:)
答案 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
循环的排序。它使我们不必在循环外创建一个循环计数器,我们也可以在循环结构中增加/更改循环计数器,而不是将这些逻辑与循环体的代码混合。