Cargando...

Bucles while en Java

Antes de cualquier bucle, guarda el número entero 1 bajo el nombre k. Escribe while (k <= 3) y, dentro de las llaves, imprime k y luego guarda k + 1 otra vez en k. La pantalla debe mostrar tres líneas: 1, luego 2, luego 3. El inicio vive encima del while. La prueba vive dentro de los paréntesis. El paso vive dentro de las llaves. Esa separación es lo que enseña esta página.

Inicio fuera, prueba en while, paso dentro

Crea un archivo de programa pequeño llamado Pulse.java. El public class de la primera línea debe coincidir con el nombre del archivo: public class Pulse. No dejes un nombre de clase antiguo Beat o Dial en este archivo; el compilador espera que el nombre de la clase y el del archivo coincidan.
Dentro de main, guarda primero el contador:
int k = 1;
Esa línea no está dentro del while. Solo empieza k en 1. Luego el bucle:
while (k <= 3) {
System.out.println(k);
k = k + 1;
}
La palabra while va en minúsculas. Dentro de los paréntesis solo se sienta la prueba: k <= 3. No hay inicio ni paso dentro de esos paréntesis — a diferencia de la línea for que viste antes. Las llaves sostienen la línea de escritura y el paso. System.out.println(k); escribe el número actual sin comillas alrededor de k. Luego k = k + 1; guarda uno más bajo k para que la siguiente prueba pueda llegar a ser false. Guarda el archivo antes de compilar.

Programa que imprime 1, luego 2, luego 3

Esta es la versión que compilas primero.

k de 1 a 3

java
public class Pulse {
    public static void main(String[] args) {
        int k = 1;
        while (k <= 3) {
            System.out.println(k);
            k = k + 1;
        }
    }
}

Desde la carpeta que contiene Pulse.java, escribe javac Pulse.java. Cuando los paréntesis, las llaves y los puntos y comas coinciden, javac no escribe ninguna línea propia. Luego escribe java Pulse — no java Pulse.java. Quita la terminación .java del segundo comando. Los mismos dos comandos funcionan en Windows y en macOS; esta página no necesita otra ortografía de shell para ninguno de los dos sistemas. El programa debe imprimir tres líneas y terminar: 1, luego 2, luego 3. No debe pedirte que escribas. Si la terminal se queda esperando entrada del teclado, todavía hay una llamada nextLine de un ejercicio anterior en el archivo. Borra esa llamada y deja el int junto con el while de arriba. No necesitas una instalación nueva del JDK por una línea incorrecta en pantalla.

Recorre una ejecución completa en orden. k empieza en 1 antes del while. La prueba k <= 3 es true, así que el cuerpo corre: println escribe 1, luego el paso guarda 2. La prueba sigue siendo true: escribe 2, guarda 3. La prueba sigue siendo true: escribe 3, guarda 4. Ahora k <= 3 es false, así que el bucle termina. El inicio corrió una vez, encima del bucle. La prueba corrió antes de cada pasada. El paso corrió dentro de las llaves después de cada impresión. Esas tres tareas son las mismas ideas que en for, pero no van empaquetadas en una sola línea de cabecera. Si omites k = k + 1; y dejas k en 1 para siempre, la prueba se queda true y la misma línea puede imprimirse sin parar — por eso el paso pertenece al cuerpo en esta página.

Amplía la prueba

Cambia solo la prueba para que el bucle vaya un paso más lejos:
int k = 1;
while (k <= 4) {
System.out.println(k);
k = k + 1;
}
Deja el inicio y el paso como están. Ahora la pantalla debe mostrar cuatro líneas: 1, 2, 3 y 4.

k de 1 a 4

java
public class Pulse {
    public static void main(String[] args) {
        int k = 1;
        while (k <= 4) {
            System.out.println(k);
            k = k + 1;
        }
    }
}

Compila y ejecuta otra vez: javac Pulse.java, luego java Pulse. Debes ver cuatro líneas. No reescribiste el println ni el paso — solo cambió la prueba dentro de while (…). Después de ver cuatro líneas, puedes poner k <= 3 de nuevo para volver a la primera demo. Ambas versiones son Java válido. Enseñan la misma forma while con un punto de parada distinto.

Lee otra vez la ejecución de cuatro líneas. k empieza en 1. Cada prueba true imprime el k actual y luego suma 1. Cuando k llega a 5, la prueba falla y el bucle se detiene. El dígito 5 nunca aparece en la pantalla en esta demo, porque el cuerpo solo corre mientras la prueba sigue siendo true.

📊 k y la pantalla de la primera demo

k antes de println Línea de pantalla
1 1
2 2
3 3

Usa la tabla como comprobación después de la primera demo, no en lugar de una ejecución. Antes de cada println en esa demo, k guarda el número que aparecerá en esa línea. Después de la tercera impresión, el paso guarda 4 y la prueba falla. Si la pantalla nunca se detiene en una versión sin paso, vuelve a poner k = k + 1; dentro de las llaves — no reinstales Java.

Reglas que mantienen claro el while

Los paréntesis alrededor de la prueba son obligatorios. Escribir while k <= 3 { … } sin paréntesis hace que javac falle. El cuerpo en esta página siempre se sienta en llaves, porque cada pasada tiene dos líneas: el println y el paso. Si dejas el paso después de la llave de cierre, corre una vez cuando el bucle ya terminó — y dentro del bucle k nunca cambia, así que el bucle puede girar para siempre. Mantén el paso dentro de las llaves en ambas demos.

while no es for ni switch. for empaqueta inicio, prueba y paso en una sola línea de cabecera. while deja la prueba sola en su cabecera y te pide colocar el inicio y el paso tú mismo. switch elige una vez entre etiquetas case. No dejes un for de la página Beat ni un switch de la página Dial en el mismo main y te preguntes por qué la pantalla muestra una cabecera al estilo for sobrante o la palabra mid. El main de esta sesión debe contener solo el int y el while.

Una confusión común es imprimir la sintaxis misma: System.out.println("while (k <= 3)");. Eso escribe los caracteres de la cabecera while. No se repite. Otra confusión es poner comillas alrededor de k: System.out.println("k"); escribe la letra k en cada pasada. Mantén println(k) sin comillas cuando quieras el contador en pantalla. Si la prueba ya es false cuando se alcanza el while por primera vez — por ejemplo k empieza en 5 y la prueba dice k <= 3 — el cuerpo nunca corre y la pantalla se queda en blanco. Eso sigue siendo un while válido; las demos de esta lección mantienen una prueba que es true al menos una vez para que veas las líneas impresas.

Lo que puedes hacer ahora

Puedes empezar un contador encima del while, poner una prueba en while (…) y mantener tanto el println como el paso dentro de las llaves. Cambiar la prueba cambia cuántas líneas obtienes. La página siguiente es break y continue; allí sales de un bucle antes de tiempo o saltas una pasada sin terminar todo el bucle.

🧠 Pon a Prueba tu Conocimiento

Listo para Empezar

Pon a Prueba tu Conocimiento

Ponte a prueba con este cuestionario interactivo y descubre qué tan bien entiendes el tema

❓
6
Preguntas
🎯
70%
Para Aprobar
♾️
∞
Tiempo
🔄
∞
Intentos

📝 Instrucciones

  • Lee cada pregunta cuidadosamente
  • Selecciona la mejor respuesta para cada pregunta
  • Puedes repetir el quiz tantas veces como quieras
  • Tu progreso se mostrará en la parte superior