while ループが for ループでできることは何でもできることは知っていますが、for ループで while ループでできることは何でもできますか?
例を挙げてください。
while ループが for ループでできることは何でもできることは知っていますが、for ループで while ループでできることは何でもできますか?
例を挙げてください。
はい、簡単に。
while (cond) S;
for(;cond;) S;
while
ループと古典的なループはfor
交換可能です:
for (initializer; loop-test; counting-expression) {
…
}
initializer
while (loop-test) {
…
counting-expression
}
境界とステップが固定されていて、ループの本体でループ変数を変更できない場合、for ループは基本的な再帰関数に対応します。
理論的な観点からは、これらは一般的な while ループよりも弱いものです。たとえば、そのような for ループだけでアッカーマン関数を計算することはできません。
while ループの条件が true になる上限を指定できる場合は、それを for ループに変換できます。これは、宇宙の寿命よりも長いなど、天文学的に高い境界を簡単に提供できるため、実際的な意味では違いがないことを示しています。
Cのような言語では、次のようなforループを宣言できます。
for(; true;)
{
if(someCondition)
break;
}
より厳密な言語でfor
は、無限ループはループを必要とする場合になりwhile
ます。
While loop
には hasほどの柔軟性がなくfor loop
、 for ループは while ループよりも読みやすいです。例を挙げて私の主張を説明します。for ループの形式は次のとおりです。
for(int i = 0, j = 0; i <= 10; i++, j++){
// Perform your operations here.
}
while ループは、上記の for ループのように使用することはできず、今日のほとんどの最新の言語では a も使用できfor each loop
ます。
私の意見では、偏見があるかもしれませんが、ご容赦ください。while loop
で同じコードを書くことができる限り、使用しないでくださいfor loop
。