Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Vista previa

Repetir con while

Esta es la primera página de la lección. Léela y prueba las actividades. El resto está en el curso completo.

40 minutos

Ahorrar para unas zapatillas

Quieres unas zapatillas de 60 euros. Cada semana ahorras 15.

Semana 1: tienes 15. Semana 2: tienes 30. Haces lo mismo una y otra vez, hasta que llegas a 60.

Repetir algo hasta que pase otra cosa es lo que mejor hacen los ordenadores. Hoy aprendes cómo se dice en Java.

Palabras clave

PalabraQué significaEjemplo
BucleUn trozo de programa que se repite.while (...) { ... }
whileSignifica mientras. Repite mientras la condición sea true.while (saved < 60)
VueltaCada vez que el bucle repite sus líneas.la vuelta 3
ContadorUna variable que cuenta las vueltas.weeks = weeks + 1;
Bucle infinitoUn bucle que nunca para porque la condición siempre es true.while (true)

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Mientras pase esto, repite

Escribes while y, entre paréntesis, una condición. Debajo, entre llaves, lo que se repite.

Java mira la condición antes de cada vuelta. Si es true, hace las líneas. Si es false, sale y sigue con lo de después.

Pruébalo: una cuenta atrás

Código: java
public class Main {
    public static void main(String[] args) {
        int count = 5;

        while (count > 0) {
            System.out.println(count);
            count = count - 1;
        }

        System.out.println("¡Despegue!");

        // Cambia el 5 por un 10 y ejecuta otra vez.
    }
}

Las tres partes de un bucle

Un bucle bien hecho siempre tiene tres cosas.

Uno: un valor de inicio, como count = 5. Dos: una condición, como count > 0. Tres: un cambio dentro del bucle, como count = count - 1.

Si falta el cambio, la condición nunca deja de ser true.

Ejemplo resuelto: ahorrar 15 euros cada semana

VueltaTienes antes¿Menos de 60?Tienes despuésSemanas
10Sí151
215Sí302
330Sí453
445Sí604
560No: el bucle termina604

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Pruébalo: cuántas semanas

Código: java
public class Main {
    public static void main(String[] args) {
        int goal = 60;
        int perWeek = 15;
        int saved = 0;
        int weeks = 0;

        while (saved < goal) {
            saved = saved + perWeek;
            weeks = weeks + 1;
        }

        System.out.println("Necesitas " + weeks + " semanas.");

        // Prueba con 12 euros a la semana: dan 5 semanas.
    }
}

Cuidado con el bucle infinito

Advertencia

Si borras saved = saved + perWeek;, la variable no cambia y la condición siempre es true. El programa no termina nunca. Si te pasa, para el programa con el botón de parar del editor.

Un contador que crece más rápido

No hace falta sumar siempre lo mismo. Un vídeo tiene 3 visualizaciones y cada día se duplican.

Para sumar uno a un contador puedes escribir days++. Es lo mismo que days = days + 1.

¿Cuántos días pasan hasta superar las 100 visualizaciones?

Pruébalo: un vídeo viral

Código: java
public class Main {
    public static void main(String[] args) {
        int views = 3;
        int days = 0;

        while (views <= 100) {
            views = views * 2;
            days++;
        }

        System.out.println("Pasan " + days + " días.");
        System.out.println("Tendrá " + views + " visualizaciones.");

        // Calcula a mano: 3, 6, 12, 24, 48, 96, 192.
    }
}

Repaso rápido

Inténtalo

Repaso rápido

3 preguntas
Pruébalo: tus respuestas se corrigen aquí y después se olvidan. Inicia sesión si quieres que se guarde tu puntuación y continuar donde lo dejaste.Iniciar sesión para guardar tu puntuación

Tus respuestas se corrigen aquí y no se guardan. Una cuenta guarda tus resultados.

La lección continúa

4 partes más de esta lección están en el curso completo, con los ejercicios y la comprobación final. Una cuenta te da todo.