While loops generally go around an unknown number of times (until a condition is met), while a for loop usually has a known amount of times to loop around.
1 2 3
for (int i = 0; i < 3; i++) {
//this goes around 3 times
}
1 2 3 4 5 6
int x = 0;
while (x < 5) {
x++;
}
//this loop goes around 5 times, but it's not really known at the time it's created.