La sentencia do-while se caracteriza porque permite repetir un bloque de instrucciones varias veces, ejecutándose obligatoriamente al menos 1 vez. Por lo que se puede ver que es muy similiar a la sentencia while, con la diferencia del número mínimo de veces que se ejecuta el bloque de instrucciones que contiene.

La condición que se establece se evalúa después de ejecutar el bloque de instrucciones que contiene la instrucción do-while.

Se debe utilizar el siguiente formato:

do {
   BloqueDeSentencias;
} while (condición);

Como siempre, si el bloque de sentencias está formado por una única sentencia, se puede prescindir de las llaves, y hay que destacar que termina con un punto y coma, a diferencia de la sentencia while.

El orden de ejecución de una sentencia do-while es la siguiente:

  1. Ejecutar el bloque de sentencias.
  2. Evaluar la condición.
    • Si el resultado es true, volver al punto 1.
    • Si el resultado es false ir al punto 3.
  3. Continuar la ejecución del programa.

Ejemplo: Generar la secuencia de números siguiente: 1 2 4 7 11 16 22 etc. En ella, se va incrementando cada vez una unidad más respecto a la anterior. La secuencia se debe generar hasta que se alcance el valor máximo que indique el usuario:

EjemploDoWhile

private void botónGenerarActionPerformed(java.awt.event.ActionEvent evt) {
	int numMax = Integer.valueOf(campoMáximo.getText());
	int numActual = 1;
	int incremento = 1;
 
	areaMensajes.setText("");
	do {
		areaMensajes.append(String.valueOf(numActual) + " ");
		numActual+=incremento;
		incremento++;
	} while (numActual <= numMax);
} 

En este ejemplo conviene observar que si el usuario introduce el valor 0 o cualquier valor negativo, el programa entrará una vez en el bloque de sentencias de la instrucción do-while, mostrando el valor 1.