1. Bucles en nuestra vida
Muy a menudo, nuestras vidas requieren que realicemos las mismas acciones muchas veces. Por ejemplo, supongamos que necesito escanear un documento que consta de muchas páginas. Que repitamos el mismo procedimiento una y otra vez:
- Poner la primera página en el escáner
- Presiona el botón de escanear
- Poner la página siguiente en el escáner
Esto es difícil de hacer manualmente. Sería bueno si este proceso pudiera automatizarse de alguna manera.
O considere otro ejemplo: digamos que quiero marcar todos los correos electrónicos no leídos en mi bandeja de entrada como spam. Érase una vez que tenía que seleccionar cada correo electrónico uno a la vez y marcarlo como spam.
Pero los programadores son perezosos, por lo que automatizaron este proceso hace mucho tiempo: ahora simplemente selecciona cualquier lista de letras y hace clic en "marcar como correo no deseado", y luego su cliente de correo electrónico revisa la lista y mueve cada correo electrónico a la carpeta de correo no deseado.
¿Qué podemos decir aquí? Es muy conveniente cuando una computadora o programa puede ejecutar cientos o miles de operaciones monótonas con un solo clic. Y ahora aprenderás a hacer esto también.
2. while
bucle
La declaración if-else amplió significativamente nuestras capacidades de programación, haciendo posible escribir programas que realizan diferentes acciones en diferentes situaciones. Pero hay una cosa más que hará que nuestros programas sean mucho más potentes: los bucles .
Java tiene 4 tipos de bucles : while
, y . Ahora profundizaremos en el primero de ellos.for
for-each
do-while
Un while
bucle es muy simple. Consta de solo dos partes: una condición y un cuerpo de bucle . El cuerpo del bucle se ejecuta una y otra vez mientras la condición sea true
. En general, un while
bucle se ve así:
while (condition)
statement;
while
ciclo con una sola instrucción
while (condition)
{
block of statements
}
while
bucle con un bloque de sentencias
Es muy sencillo. La sentencia o bloque de sentencias se ejecuta una y otra vez siempre que la condición del ciclo sea igual a true
.
Así es como funciona: primero, se verifica la condición . Si es verdadero, entonces se ejecuta el cuerpo del ciclo (la sentencia o bloque de sentencias ). Luego, la condición se verifica nuevamente y el cuerpo del ciclo se ejecuta nuevamente. Y así sucesivamente hasta que la condición se vuelva falsa.
Si la condición es siempre verdadera , entonces el programa nunca dejará de ejecutarse. Estará permanentemente atascado en el bucle.
Si la condición es falsa la primera vez que se comprueba , el cuerpo del bucle no se ejecutará ni una sola vez.
3. Ejemplos de bucles
Estos son algunos ejemplos prácticos de bucles en acción.
Código | Explicación |
---|---|
|
Se mostrarán 5 líneas en la pantalla:
|
Código | Explicación |
---|---|
|
Se mostrarán 10 líneas en la pantalla:
|
Código | Explicación |
---|---|
|
El programa lee números del teclado siempre que se ingresen números. |
Código | Explicación |
---|---|
|
El programa imprimirá infinitamente la letra C en la pantalla. |
Código | Explicación |
---|---|
|
El programa leerá líneas del teclado. hasta que |
En el ejemplo anterior, el equals()
método se usa para comparar cadenas. Si las cadenas son iguales, la función devolverá true
. Si las cadenas no son iguales, devolverá false
.
4. Bucle dentro de un bucle
A medida que aprendió sobre las declaraciones condicionales, vio que puede usarlas para implementar una lógica compleja combinando varias declaraciones condicionales. En otras palabras, mediante el uso de una if
declaración dentro de una if
declaración.
Puedes hacer lo mismo con los bucles. Para escribir un ciclo dentro de un ciclo, debe escribir el segundo ciclo dentro del cuerpo del primer ciclo. Se verá algo como esto:
while (condition for outer loop)
{
while (condition for inner loop)
{
block of statements
}
}
while
bucle (con un
bloque de sentencias ) dentro de otro
while
bucle
Veamos tres tareas.
Tarea 1 . Digamos que queremos escribir un programa que muestre la palabra Mom
en la pantalla 4 veces. Un bucle es exactamente lo que necesitamos. Y nuestro código se verá así:
Código | Explicación |
---|---|
|
Se mostrarán 4 líneas en la pantalla:
|
Tarea 2 . Queremos escribir un programa que muestre 5 letras A
en una sola línea. Para hacer esto, necesitamos un bucle una vez más. Así es como se verá el código:
Código | Explicación |
---|---|
|
En lugar de println() , usaremos print() . De lo contrario, cada letra A terminaría en una línea separada. La salida de pantalla será:
|
Tarea 3 . Queremos mostrar un rectángulo compuesto por la letra A
s. El rectángulo debe constar de 4 filas por 5 columnas. Para lograr esto, ahora necesitamos un bucle anidado. Simplemente tomaremos nuestro primer ejemplo (aquel en el que generamos 4 líneas) y reemplazaremos el código para generar una línea con el código del segundo ejemplo.
Código | Explicación |
---|---|
|
El lazo exterior es morado. Utiliza la n variable para contar el número de iteraciones del bucle. El lazo interior es verde. Utiliza la m variable para contar el número de iteraciones del bucle. Tenemos que mover explícitamente el cursor a la siguiente línea después de que se complete el ciclo interno. De lo contrario, todas las letras que imprime el programa terminarán en una sola línea. La salida de pantalla será:
|
Los bucles exterior e interior deben utilizar diferentes variables para contar el número de iteraciones del bucle. También tuvimos que agregar el System.out.println()
comando después del ciclo interno, ya que ese ciclo muestra la letra A
s en la misma línea. Una vez que se muestran las letras en una línea, alguien tiene que mover el cursor a una nueva línea.
5. Comparación de bucles Java vs Pascal
Muchos de ustedes estudiaron Pascal en la escuela secundaria. Para facilitarle la comprensión del material aquí, eche un vistazo a esta comparación de while
bucles escritos en Pascal y Java. Si no conoces a Pascal, salta esta parte.
Pascal | Java |
---|---|
|
|
|
|
|
|
|
|
|
|
GO TO FULL VERSION