@edit ehh miałem kartę otwartą długo i nie zobaczyłem, że już Pan DeBos123 powiedział w sumie to samo co ja
To co Pan Michał powiedział + zauważ, że pętla while jest taka podstawowa. Masz warunek i tyla.
Pętla for została zaprojektowana tak aby było ci wygodniej utworzyć jakiś licznik, czyli zamiast pisać tak:
int i = 0;
while(i != 10) i++
Piszesz tak:
for(int i = 0; i != 10; i++)
Wygodniej, szybciej (szybciej w sensie szybkości pisania, a nie działania, bo dla obu pętli pewnie wygeneruję się ten sam kod) i czytelniej, nie ma żadnej ukrytej magii.
A pętla do ... while - zapewne jak wiesz wykona się przynajmniej jeden raz. Czasami jest taka potrzeba i gdybyśmy jej nie mieli to jakieś boole musielibyśmy tworzyć i odrazu bałagan w kodzie by się zaczął tworzyć.
Także używasz odpowiedniego rodzaju pętli do takiego celu do jakiego zostały stworzone, proste.