¡Hola Santiago, espero que estés bien!
Entiendo tu punto sobre la lógica de programación y cómo optimizar el proceso. Es importante tener en cuenta la eficiencia y el ahorro de recursos en nuestros programas.
En el caso que mencionas, sobre el uso de un contador en lugar de una condición if en el while, es una buena sugerencia para optimizar la memoria del proceso. También es fundamental considerar la validación de datos de entrada, como no aceptar calificaciones negativas o manejar el caso donde el usuario ingrese el dato -1.
Además, el ejemplo práctico que compartes sobre el uso de while y la implementación de una condición de salida basada en la entrada del usuario es muy ilustrativo. La forma en que muestras el proceso de cálculo de la media de evaluaciones y cómo manejar la condición de salida con un if es muy claro y útil para comprender el funcionamiento de los bucles while en Java.
Espero que esta información te sea de ayuda. Si tienes más consultas o dudas, no dudes en preguntar. ¡Sigue adelante con tu aprendizaje en Java!
Espero haber ayudado y buenos estudios!