Hola:
Todos los bucles, en todos los lenguajes son iguales... hay una iniacialización y una condición de salida del bucle... parece que ya sabes como pasar de un bucle for a un bucle while (y viceversa)... la diferencia está en la sintaxis, y por consecuencia, unos son más fácil de implementar que otros en determinadas ocasiones.
Un ejercicio común de programación es pasar un tipo de bucle a otro tipo.
Saludos