2016-11-01 16 views
-3

これらは基本的に同じですか?Forループ用While

1)種類の新しいプログラミングにまだ

for (int i = 0; i < 10; i++) { 
    for (int j = 0; j < 10; j++) { 
    } 
} 

については

int i = 0, j = 0; 

while (i < 10) { 
    while (j < 10) { 
    } j++; 
} i++; 

2)一方で、私はちょうど知りたいと思いました。どちらが同じであればどちらが効率的でしょうか?

+4

ここに来る前にまずテストして、1つのループが無限であることがわかります。このコードを最初に実行していない場合は-1です。これ以上の質問をすることができます。 –

+0

投稿されたとおり、ループは同等ではありません。あなたはそれらを同等にすることができますが、これらの構造の間には効率の差はありません。ストリームを含める場合は、パフォーマンスの差がある可能性があります(10より大きい範囲の場合)。 –

答えて

1

いいえ、それらは同じではありません。 1が間違っていて、j ++がブロックの外にあるのでwhileループに陥るでしょう。 2と同じことを1にしたい場合、

int i = 0, j = 0; 
while (i < 10) { 
    j = 0; 
    while (j < 10) { 
     .... 
     j++; 
    } 
    i++; 
} 
関連する問題