Saltar la navegación

4.3.- Estructura while.

El bucle while es la primera de las estructuras de repetición controladas por sucesos que vamos a estudiar. La utilización de este bucle responde al planteamiento de la siguiente pregunta: ¿Qué podemos hacer si lo único que sabemos es que se han de repetir un conjunto de instrucciones mientras se cumpla una determinada condición?

La característica fundamental de este tipo de estructura repetitiva estriba en ser útil en aquellos casos en los que las instrucciones que forman el cuerpo del bucle podría ser necesario ejecutarlas o no. Es decir, en el bucle while siempre se evaluará la condición que lo controla, y si dicha condición es cierta, el cuerpo del bucle se ejecutará una vez, y se seguirá ejecutando mientras la condición sea cierta. Pero si en la evaluación inicial de la condición ésta no es verdadera, el cuerpo del bucle no se ejecutará.

Es imprescindible que en el interior del bucle while se realice alguna acción que modifique la condición que controla la ejecución del mismo, en caso contrario estaríamos ante un bucle infinito.

Bucle while con una sentencia y un bloque de sentencias

while (condición)

sentencia;
while (condición) {

   sentencia1;

   …

   sentenciaN;

}

Funcionamiento:

Mientras la condición sea cierta, el bucle se repetirá, ejecutando la/s instrucción/es de su interior. En el momento en el que la condición no se cumpla, el control del flujo del programa pasará a la siguiente instrucción que exista justo detrás del bucle while.

La condición se evaluará siempre al principio, y podrá darse el caso de que las instrucciones contenidas en él no lleguen a ejecutarse nunca si no se satisface la condición de partida.

En la siguiente imagen puedes ver un diagrama de flujo que representa el funcionamiento de este tipo de estructura repetitiva.

Bajo un rombo verde en el que se lee “Expresion” aparecen dos rectángulos, uno verde con la palabra “verdadero” y otro debajo azul con la palabra “secuencia”. De este último parte una flecha que vuelve hacia arriba para apuntar hacia el rombo. A la derecha del rombo aparece la palabra “falso” inscrita en un rectángulo rojo, del que parte una flecha hacia abajo representando el final del bucle.
José Luís García Martínez. (CC BY-NC)

Debes conocer

Accede al siguiente archivo java y podrás analizar un ejemplo de utilización del bucle while para la impresión por pantalla de la tabla de multiplicar del siete. Lee atentamente los comentarios incluidos en el código, pues aclaran algunas cuestiones interesantes sobre este bucle. Como podrás comprobar, el resultado de este bucle es totalmente equivalente al obtenido utilizando el bucle for.

Autoevaluación

Pregunta 1

Utilizando el siguiente fragmento de código estamos construyendo un bucle infinito. ¿Verdadero o Falso?

while (true) System.out.println("Imprimiendo desde dentro del bucle \n");



Debes conocer

Siguiendo con las ayudas de Netbeans para la inserción de código, para incluir un bucle también podemos recurrir a la genialidad del entorno para insertar código automáticamente. Escribe for y pulsa Ctrl + Espacio en el editor. Verás algo parecido a lo que se muestra en la imagen: diferentes opciones de construcción del bucle for. Si seleccionas una, Netbeans automáticamente incluirá el código.

Ilustración que muestra la opción de Netbeans para insertar un bucle for de manera automática
Ministerio de Educación y FP (CC BY-NC)