Es muy sencillo, solo tenemos que saber identificar si la condición que evaluaremos para que nuestro ciclo itere, sea comprobada antes o después de cada iteración. Si la condición se comprueba después de cada iteración entonces usamos WHILE, si la condición es comprobada antes de cada iteración entonces usamos FOR.
Un ejemplo sencillo para usar FOR sería :
Imaginemos un array de números enteros :
Imaginemos también que la variable ’ i ’ nos dirá la posición y a su vez la iteración en que vamos recorriendo nuestro array de números, en este ejemplo la usaremos para saber la posición.
Ahora recorreremos el array desde la posición 0 hasta la posición 4 (recuerda que las posiciones de los arrays empiezan en la posición 0) y se detendrá hasta que haya recorrido todo el array de números enteros, siendo la condición de parada la última posición. Imprimirá número por número y posición por posición hasta el último número. Cada vez que se imprima un número y no se haya terminado de recorrer el array, la variable ’ i ’ se incrementará en 1:
De esta forma tendremos el siguiente resultado:
Ahora muy diferente sería recorrer el array buscando algún elemento específico. En el caso que vimos se recorría el array hasta su última posición e imprimía el número que allí se encontrara pero ¿Qué pasaría si quiero recorrerlo hasta encontrar el número 42?
Continuemos con nuestro mismo array:
Y nuestra variable contadora de posiciones e iteraciones llamada ’ i ’ :
Fíjate que inicializamos la variable i en 0 para llevar la cuenta de la posición del array de números en que vamos. Al iniciar arrancamos en la posición 0 porque i es igual a 0. Luego, utilizamos un ciclo WHILE para iterar MIENTRAS el número en la posición i del array no sea igual a 42. Dentro del ciclo, imprimimos el número en esa posición y luego incrementamos i en 1 para pasar al siguiente número en el siguiente ciclo. El ciclo se detendrá cuando se encuentre el número 42 en el array.
Observa que a la medida que vaya iterando el imprime el número que vaya consiguiendo en la posición i. Pero cuando encuentre el número 42 dejará de imprimir. Por eso el resultado sería el siguiente:
Espero que estos ejemplos hayan podido aclarar tu duda de cuando usar FOR y cuando usar WHILE. Recuerda todo esta en verificar cuando se debe evaluar la condición si antes o después de la iteración.