Hola, bueno he revisado tu ejercicio y lo veo bien.
//-------------------------------------------//
edito: He repasado mas a fondo la condición del bucle y me he fijado en este if:
if (i==(palabraTeclado.length())){
break;}
Esta condición te sobra totalmente, ya que si te fijas el bucle solo se repetirá mientras "i" sea menor que el tamaño de la cadena, por lo tanto i nunca jamas será igual al tamaño de la cadena dentro de ese bucle y la condición son 3 lineas de código inútil....
//-------------------------------------------------------------// Fin de la edición
Lo que comentas de que te es mas sencillo un bucle for que uno while.
Por mi experiencia, cada bucle tiene su utilidad, y hay casos en el que podremos usar ambos, y casos en los que solo podremos usar un while.
El for se utiliza principalmente cuando se conoce o es posible conocer el numero de iteracciones a realizar. Por ejemplo:
- Recorrer una cadena --> Se puede usar un for porque el numero de iteracciones es igual al tamaño de la cadena.
- Recorrer una lista de elementos --> Se puede usar porque el numero de iteracciones es igual al numero de elementos
- Un numero fijo --> Pues si tenemos quee realizar un numero fijo de iteracciones es facil usar un for
Ahora imagínate que necesitamos un programa que nos pida por teclado una serie de cadenas de texto, sin saber a priori cuantas cadenas meterá el usuario, sino que en cada petición le preguntaremos si quiere meter una cadena mas, el usuario responderá si o no y se realizara una iteracción mas o no dependiendo de la respuesta. En este caso no nos valdría un bucle for a no ser que le preguntáramos al usuario al principio cuantas cadenas quiere meter, pero alomejor el usuario no lo sabe tampoco... En fin en este caso tendríamos que usar un bucle while, ya que seguir en el bucle dependerá de si el usuario responde si, o no.
Así que resumiendo, recomiendo el bucle for cuando tenemos alguna forma de averiguar el numero de iteracciones y usaremos el while cuando el seguir en el bucle o salir dependa de un valor true o false.
Un saludo y tranquilo, que poco a poco te irás dando cuenta de cuando usar un bucle for, un for extendido, uno while o un do { ... } while( condicion )