Quali sono le differenze tra un ciclo while e un ciclo for? Mi sembra che siano uguali.
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++;
}
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.
Leggi altre domande sui tag loops