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
| Palabra | Qué significa | Ejemplo |
|---|---|---|
| Bucle | Un trozo de programa que se repite. | while (...) { ... } |
| while | Significa mientras. Repite mientras la condición sea true. | while (saved < 60) |
| Vuelta | Cada vez que el bucle repite sus líneas. | la vuelta 3 |
| Contador | Una variable que cuenta las vueltas. | weeks = weeks + 1; |
| Bucle infinito | Un 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
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
| Vuelta | Tienes antes | ¿Menos de 60? | Tienes después | Semanas |
|---|---|---|---|---|
| 1 | 0 | Sí | 15 | 1 |
| 2 | 15 | Sí | 30 | 2 |
| 3 | 30 | Sí | 45 | 3 |
| 4 | 45 | Sí | 60 | 4 |
| 5 | 60 | No: el bucle termina | 60 | 4 |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Pruébalo: cuántas semanas
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
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 preguntasTus respuestas se corrigen aquí y no se guardan. Una cuenta guarda tus resultados.