Tutorial 4 Java: Bucles
Bienvenidos a un nuevo tutorial sobre Java, en el cual aprenderemos a realizar bucles en nuestros programas. Conviene que echéis un vistazo a los tutoriales anteriores para ver más o menos cómo funciona Java.
Un bucle es utilizado, principalmente, para realizar un proceso repetidas veces, las que queramos. En este tutorial, vamos a ver los siguientes bucles:
- While: las sentencias dentro del bucle se ejecutan mientras cierta expresión booleana se cumpla.
- Do - While: las sentencias dentro del bucle se ejecutan mientras cierta expresión booleana se cumpla (igual que el While, pero se escribe de distinta manera).
- For: dependerá de un valor inicial, una expresión booleana y un incremento o decremento del valor inicial.
Cada una de estos bucles tiene la siguiente forma:
WHILE: while(expresión booleana){ ... } DO - WHILE: do{ ... }while(expresión booleana); FOR: for(inicialización; expresión booleana; incremento o decremento){ ... }
Nuestro problema, va a tratar de hacer un contador descendente que baje la cuenta en uno por cada segundo. Lo vamos a hacer tres veces, una con cada bucle.
Para comenzar, crearemos un proyecto nuevo, al que llamaremos Bucles. Yo ya lo tenía creado, por lo que me aparece una alerta avisándome de que ya existe un proyecto con ese nombre y no está vacío.
A continuación, veremos el código con el WHILE. Es muy sencillo, todo hay que decirlo. package bucles; import java.util.Scanner; //Contador hacia atrás que avise cuando llegue a 0 /** * * @author mario * Tutorial 4: Bucles (while) * */ public class Bucles { public static void main(String[] args) throws InterruptedException { Scanner reader=new Scanner(System.in); int segundos; System.out.print("Introduzca el número de segundos de espera: "); segundos=reader.nextInt(); System.out.print(segundos); while(segundos!=0){ segundos-=1; Thread.sleep(1000); System.out.print(" - "+segundos); } System.out.println("n¡La cuenta ha llegado a su fin!"); } } Con DO - WHILE es prácticamente igual: package bucles2; import java.util.Scanner; //Contador hacia atrás que avise cuando llegue a 0 /** * * @author mario * Tutorial 4: Bucles (do-while) * */ public class Bucles2 { public static void main(String[] args) throws InterruptedException { Scanner reader=new Scanner(System.in); int segundos; System.out.print("Introduzca el número de segundos de espera: "); segundos=reader.nextInt(); System.out.print(segundos); do{ segundos-=1; Thread.sleep(1000); System.out.print(" - "+segundos); }while (segundos!=0); System.out.println("n¡La cuenta ha llegado a su fin!"); } } Y finalmente, con FOR: package bucles3; import java.util.Scanner; //Contador hacia atrás que avise cuando llegue a 0 /** * * @author mario * Tutorial 4: Bucles (for) * */ public class Bucles3 { public static void main(String[] args) throws InterruptedException { Scanner reader=new Scanner(System.in); int segundos; System.out.print("Introduzca el número de segundos de espera: "); segundos=reader.nextInt(); System.out.print(segundos); for(int i=segundos-1; i>=0; i--){ Thread.sleep(1000); System.out.print(" - "+i); } System.out.println("n¡La cuenta ha llegado a su fin!"); } } Lo único que habría que comentar del código es la manera de hacer esperar al programa 1 segundo para que se ejecute la siguiente función que deba hacer. He utilizado el siguiente código: Thread.sleep(1000);//Se escribe en milisegundos Tras el main, hay que añadir: throws InterruptedException Al ejecutar el programa, obtenemos lo siguiente:
Os dejo los códigos para que los podáis descargar aquí: Bucles.zip En el siguiente tutorial, veremos cómo tratar cadenas de caracteres. No olvides compartir el tutorial. ¡Gracias!