Quali sono le differenze tra un ciclo while e un ciclo for?

3

Quali sono le differenze tra un ciclo while e un ciclo for? Mi sembra che siano uguali.

    
posta mistichor 09.06.2014 - 09:43
fonte

2 risposte

10

Il ciclo while viene in genere utilizzato quando devi ripetere qualcosa finché una condizione non è vera:

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

D'altra parte, il ciclo for viene in genere utilizzato quando è necessario ripetere un determinato numero di volte:

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

Puoi usarli in modo intercambiabile se lo desideri:

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

o

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

E

var i = 0;
while(i < 100)
{
    //do your logic here
    i++;
}
    
risposta data 09.06.2014 - 09:54
fonte
1

C'è una differenza fondamentale tra i due: con un ciclo for , è necessario sapere in anticipo con quale frequenza verrà eseguito il corpo del ciclo. Questa è una restrizione importante, poiché ci sono molti problemi in cui semplicemente non lo sai. A volte non sai nemmeno se quel numero è finito affatto !

Consideriamo, ad esempio, un programma che chiede all'utente di inserire una serie di nomi. Dì, un sistema di gestione del paziente per un dentista. Come sapresti in anticipo quanti pazienti il dentista sta per entrare? Tu no! Non puoi scrivere un ciclo for per quello.

    
risposta data 10.06.2014 - 11:45
fonte

Leggi altre domande sui tag