it-swarm.com.de

Was sind die Unterschiede zwischen einer while-Schleife und einer for-Schleife?

Was sind die Unterschiede zwischen einer while-Schleife und einer for-Schleife? Es scheint mir, dass sie gleich sind.

4
mistichor

Die while -Schleife wird normalerweise verwendet, wenn Sie etwas wiederholen müssen, bis eine bestimmte Bedingung erfüllt ist:

inputInvalid = true;
while(inputInvalid)
{
    //ask user for input
    invalidInput = checkValidInput();
}

Andererseits wird die for -Schleife normalerweise verwendet, wenn Sie eine bestimmte Anzahl von Malen wiederholen müssen:

for(var i = 0; i < 100; i++)
{
    ...//do something for a 100 times.
}

Sie können sie austauschbar verwenden, wenn Sie möchten:

inputInvalid = true;
for(;;)
{
    if(!inputInvalid)
    {
        break;
    }
    //ask user for input
    invalidInput = checkValidInput();
}

Oder

inputInvalid = true;
for(;inputInvalid;)
{        
    //ask user for input
    invalidInput = checkValidInput();
}

Und:

var i = 0;
while(i < 100)
{
    //do your logic here
    i++;
}
10
npinti

Es gibt einen fundamentalen Unterschied zwischen den beiden: Bei einer for Schleife müssen Sie vorher wissen wie oft der Schleifenkörper wird ausgeführt. Dies ist eine große Einschränkung, da es viele Probleme gibt, bei denen Sie das einfach nicht wissen. Manchmal weiß man nicht einmal, ob diese Zahl endlich ist oder nicht überhaupt!

Stellen Sie sich zum Beispiel ein Programm vor, das den Benutzer auffordert, eine Reihe von Namen einzugeben. Sagen wir, ein Patientenmanagementsystem für einen Zahnarzt. Wie würden Sie vorher wissen, wie viele Patienten der Zahnarzt aufnehmen wird? Das tust du nicht! Sie können dafür keine for -Schleife schreiben.

0
Jörg W Mittag