Tema 3: Estructuras de control
en Java
Sentencias de repetición
Índice
1. Sentencia de repetición FOR
  1. Ejemplos FOR
2. Sentencia de repetición WHILE
  1. Ejemplos WHILE
3. Sentencia de repetición DO
  1. Ejemplos DO
Sentencia FOR
• Repite la ejecución de su bloque contenido tantas veces como se
  indica en su cabecera.
• La sintaxis de la sentencia consta de tres partes:
  • Definición de la variable de control e inicialización de ésta: La variable
    solo tiene validez dentro del bucle.
  • Condición a evaluar: Mientras se cumpla, se vuelve a entrar dentro del
    bucle.
  • Paso: De qué forma va a ir variando la variable de control cada vez que
    se finalice una iteración.
                    for (int i=0 ; i<5 ; i++ ){
                        instrucciónA1
                        ...
                        instrucciónAN
                    }
Ejemplos FOR

 for (int i=0 ; i<10 ; i++){     instrucción se ejecutará 10 veces
     instrucción
                                 i = {0,1,2,3,4,5,6,7,8,9}
 }
 for (int j=10 ; j>0 ; j--){     instrucción se ejecutará 10 veces
     instrucción
                                 j = {10,9,8,7,6,5,4,3,2,1}
 }
 for (int k=0 ; k<20 ; k=k+5){   instrucción se ejecutará 4 veces
     instrucción
                                 k = {0,5,10,15}
 }
 for (int h=1 ; h<0 ; h++){      instrucción se ejecutará 0 veces
     instrucción
                                 ya que la condición no se cumple
 }
                                 en la primera iteración
Sentencia WHILE
• Repite la ejecución de su bloque contenido siempre y cuando se
  cumpla la condición que evalúa.
• El programador no conoce a priori el número de iteraciones
  que se van a producir.
• Este tipo de sentencia puede dar lugar a bucles infinitos si no se
  controla la evolución de la condición


                        while(condición){
                            instrucciónA1
                            ...
                            instrucciónAN
                        }
Ejemplos WHILE
 int var = 0;
 while (var < 10){    instrucción se ejecutará 10 veces
     instrucción      var = {0,1,2,3,4,5,6,7,8,9}
     var = var + 1;
 }

 int var = 0;
 while (var != 0){    instrucción se ejecutará 0 veces
     instrucción      Ya que la condición no se cumple
     var = var + 1;
 }

 int var = 0;
 while (var > -1){    instrucción se ejecutará infinitas
     instrucción      veces ya que la condición se
     var = var + 1;
                      cumplirá siempre
 }
Sentencia DO
• Repite la ejecución de su bloque contenido siempre y cuando se
  cumpla la condición, que en este caso se evalúa al final.
• El programador no conoce a priori el número de iteraciones
  que se van a producir.
• Este tipo de sentencia puede dar lugar a bucles infinitos si no se
  controla la evolución de la condición
• Este bucle siempre entra al menos una vez.

                        do{
                          instrucciónA1
                          ...
                          instrucciónAN
                        }while(condición);
Ejemplos DO
 int var = 0;
 do{                  instrucción se ejecutará 10 veces
   instrucción        var = {1,2,3,4,5,6,7,8,9,10}
   var = var + 1;
 }while (var < 10);

 int var = 5;
 do{                  instrucción se ejecutará 1 vez
   instrucción        Ya que la condición no se cumple,
   var = var + 1;     pero se testea al final de la 1ª iteración
 }while (var < 0);

 int var = 0;
 do{                  instrucción se ejecutará infinitas
   instrucción        veces ya que la condición se
   var = var + 1;
                      cumplirá siempre
 }while (var > -1);

Sentencias de repetición en Java

  • 1.
    Tema 3: Estructurasde control en Java Sentencias de repetición
  • 2.
    Índice 1. Sentencia derepetición FOR 1. Ejemplos FOR 2. Sentencia de repetición WHILE 1. Ejemplos WHILE 3. Sentencia de repetición DO 1. Ejemplos DO
  • 3.
    Sentencia FOR • Repitela ejecución de su bloque contenido tantas veces como se indica en su cabecera. • La sintaxis de la sentencia consta de tres partes: • Definición de la variable de control e inicialización de ésta: La variable solo tiene validez dentro del bucle. • Condición a evaluar: Mientras se cumpla, se vuelve a entrar dentro del bucle. • Paso: De qué forma va a ir variando la variable de control cada vez que se finalice una iteración. for (int i=0 ; i<5 ; i++ ){ instrucciónA1 ... instrucciónAN }
  • 4.
    Ejemplos FOR for(int i=0 ; i<10 ; i++){ instrucción se ejecutará 10 veces instrucción i = {0,1,2,3,4,5,6,7,8,9} } for (int j=10 ; j>0 ; j--){ instrucción se ejecutará 10 veces instrucción j = {10,9,8,7,6,5,4,3,2,1} } for (int k=0 ; k<20 ; k=k+5){ instrucción se ejecutará 4 veces instrucción k = {0,5,10,15} } for (int h=1 ; h<0 ; h++){ instrucción se ejecutará 0 veces instrucción ya que la condición no se cumple } en la primera iteración
  • 5.
    Sentencia WHILE • Repitela ejecución de su bloque contenido siempre y cuando se cumpla la condición que evalúa. • El programador no conoce a priori el número de iteraciones que se van a producir. • Este tipo de sentencia puede dar lugar a bucles infinitos si no se controla la evolución de la condición while(condición){ instrucciónA1 ... instrucciónAN }
  • 6.
    Ejemplos WHILE intvar = 0; while (var < 10){ instrucción se ejecutará 10 veces instrucción var = {0,1,2,3,4,5,6,7,8,9} var = var + 1; } int var = 0; while (var != 0){ instrucción se ejecutará 0 veces instrucción Ya que la condición no se cumple var = var + 1; } int var = 0; while (var > -1){ instrucción se ejecutará infinitas instrucción veces ya que la condición se var = var + 1; cumplirá siempre }
  • 7.
    Sentencia DO • Repitela ejecución de su bloque contenido siempre y cuando se cumpla la condición, que en este caso se evalúa al final. • El programador no conoce a priori el número de iteraciones que se van a producir. • Este tipo de sentencia puede dar lugar a bucles infinitos si no se controla la evolución de la condición • Este bucle siempre entra al menos una vez. do{ instrucciónA1 ... instrucciónAN }while(condición);
  • 8.
    Ejemplos DO intvar = 0; do{ instrucción se ejecutará 10 veces instrucción var = {1,2,3,4,5,6,7,8,9,10} var = var + 1; }while (var < 10); int var = 5; do{ instrucción se ejecutará 1 vez instrucción Ya que la condición no se cumple, var = var + 1; pero se testea al final de la 1ª iteración }while (var < 0); int var = 0; do{ instrucción se ejecutará infinitas instrucción veces ya que la condición se var = var + 1; cumplirá siempre }while (var > -1);