Estructuras de repetición en Java

Hola a todos, hoy os explicare como utilizar las estructuras de repetición en Java.

Una estructura de repetición o bucle nos permite ejecutar un numero de veces determinado una serie de instrucciones. La mayor utilidad es evitar la repetición de lineas de código iguales. Para salir del bucle, se indica una condición, si esa condición no se cumple se sale del bucle.

Las estructuras de repetición son:

  • while: indicamos una condición que se ejecutara hasta que la condición sea falsa, es importante que la variable que este en la condición, varíe para que no se produzca un bucle infinito. Su sintaxis es:
      while (condicion){
         instrucciones
      }

Veamos un ejemplo:

public class PruebaApp {

	public static void main(String[] args) {

		int num=1;

		while (num<=5){
			System.out.println(num);
			num++;
		}
	}
}

Como vemos, num vale 1 al principio, se comprueba la condición, como 1 es menor o igual que 5, entra en el bucle y ejecuta las instrucciones, y así sucesivamente hasta que num vale 6, ya que 6 no es menor o igual que 5. Si num no fuera modificado, nunca saldría del bucle.

  • for: este tipo de bucle, es como el anterior pero ademas de la condición, incluye una inicialización de una variable y un incremento o decremento de esa variable, en principio, no es necesario que incluya las 3 partes, se pueden inicializar o incrementar varias varias separadas por comas. Cada parte se separa con un ; . NOTA: cuando salimos del bucle, la variable inicializada no existe. Su sintaxis:
      for(inicializacion;condicion;incremento){
         instrucciones
      }

Si nos fijamos, es como en while pero todo se define en el bucle. Veamos un ejemplo:

public class PruebaApp {

	public static void main(String[] args) {

		for (int num=1; num<=5; num++){
			System.out.println(num);
		}
	}
}

Es el mismo ejemplo de antes pero mas reducido.

  • do-while: esta estructura repetitiva, tiene algo especial y es que como mínimo las instrucciones dentro de la estructura repetitiva al menos una vez, mientras que el while sus instrucciones pueden ejecutarse 0 o N veces. Se sale del bucle cuando la condición del while no se cumple, si esto pasa empieza desde el do. Se utiliza para la validación de datos. Su sintaxis es:
     do{
        intrucciones
     }while(condicion);

Veamos un ejemplo:

import javax.swing.JOptionPane;
public class PruebaApp {

	public static void main(String[] args) {
		int num;
		do{
			String texto=JOptionPane.showInputDialog("Introduce un numero entre 0 y 10");
			num=Integer.parseInt(texto);
		}while(num>=10 || num<0);
		System.out.println("El numero introducido es "+num);
	}
}

Tenemos que pensar bien la condición de salida. En nuestro caso, si insertamos un 5 (5>=10 or 5<0) devolvería falso, si insertáramos un -1 (-1>=10 or 5<o) devolvería verdadero, haciendo que vuelva a pedir un numero.

Por último, tenemos la estructura de repetición For Each pero lo veremos más detallamente más adelante cuando usemos estructuras más complejas.

Espero que os sea de ayuda. Si teneis dudas, preguntad. Estamos para ayudarte.

Compartir

6 comentarios

  1. mera

    BUENO COMPAÑERO DECIRTE QUE HOY LA SINIESTROTECAMERA37 MY HUMILDE BLOG DE CINE DE TERROR HA SIDO PREMIADO POR SEGUNDA VEZ DESDE SU COMIENZO , QUIEN RECIBE EL PREMIO COMO MANDA LA TRADICION DEBE DE ELEGIR A 11 BLOGS PARA OTORGAR DECHO PREMIO Y TU ESTÁS ENTRE MIS PREFERIDOS, FELICIDADES Y SI LO DESEAS TIENES QUE IR A ESTA DIRECCION ALLI ESTÁ TODO Y TU PREMIO.
    TE DEJO LA DIRECCIÓN DE DONDE TIENES QUE IR, ALLÍ TIENS TODO LO QUE TIENES QUE HACER PARA SEGUIR LA CADENA, COPIA ESE MISMO POST EN TU BLOG PERO CON TUS PROPIAS PALABRAS, http://siniestrotecamera37.blogspot.com.es/2013/09/2-premio.html

  2. Alejandra Sanders

    Hola amigo, voy a visitar tu blog mas a menudo, ya que me han falta mucha instruccion sobre los temas que tu publicas, un saludo
    TRAFFIC CLUB

  3. Alejandra

    hola, muy buenos los ejemplos, en el ultimo me pierdo un poco con esto:

    num=Integer.parseInt(texto);

    ¿cual es la funcion de esto? pasar a int el numero que introduzcamos?

    Grcias

  4. Disco Duro de Roer Post author

    Todo lo que escribas en un JOptionPane es texto, si pides un numero y quieres hacer algo con él tienes que pasarlo a int, por eso la función.

    Un saludo espero que te sea de ayuda.

  5. Carlos

    while(num>=10 || num<0);

    aqui no tendria que ser && para que se cumplan las dos premisas para devolver el resultado?

  6. Disco Duro de Roer Post author

    en ese caso es el mismo. Comrpuebalo con algun numero

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *