Mostrando entradas con la etiqueta while. Mostrar todas las entradas
Mostrando entradas con la etiqueta while. Mostrar todas las entradas

abril 03, 2010

Control de flujo.

Las sentencias de control de flujo, es la manera que un lenguaje tiene de controlar que sentencias ejecutar en cada momento. Las sentencias son las siguientes:

  • Sentencias de selección: if/else, switch

  • Sentencias de repetición (bucle): for, while, do/while

  • Sentencias de ruptura: break, continue, return


  • Las sentencias de selección o condicionales se basan en el resultado de una condición, o más, el programa se ejecuta instrucciones específicas. Las sentencias de repetición ejecutan un número de veces un conjunto de instrucciones.

    También podríamos ver las excepciones como otra forma de controlar el flujo de un programa.

    do (palabra clave).

    La palabra clave do se utiliza ocasionalmente, cuando un ciclo tenga que ejecutarse por lo menos una vez.


    El ciclo do tiene la siguiente estructura:

    do 
    {
        instrucción1;
        instrucción2;
        …
        instrucción n;
    } while( condición );
    

    Ejemplo 1.
    El siguiente programa ilustra el uso de la estructura do/while para obtener el inverso de un número entero que es proporcionado por el usuario. Lo hace utilizando el operador del módulo (%) para extraer el digito más a la derecha. El número original se divide entre 10, y la operación se repite hasta que el número no sea igual a cero, que es cuando termina la iteración.

    /**
     * Demuestra el uso de la estructura do/while 
     */
    import java.util.Scanner;
    public class DoWhile01
    {
        public static void main(String args[]) {
            int numero;
            int digito;
            Scanner teclado = new Scanner( System.in );
            
            System.out.print( "Introduce un núumero:" );
            numero = teclado.nextInt();
            System.out.print( "El inverso del número es: " );
            do {
                digito = numero % 10;
                System.out.print( digito );
                numero = numero / 10;
            } while( numero !=0 );
        }   //fin del método main
    }   //fin de la clase DoWhile01
    

    Véase:

    while (palabra clave).

    La estructura de repetición while permite al programador especificar que un programa debe repetir una acción mientras que una condición (expresión booleana) sea verdadera.


    El ciclo while se utiliza generalmente cuando el número de repeticiones no se conoce de antemano. La sintaxis general es:

    while( condición ) 
    {
        instrucción1;
        instrucción2;
        …
        instrucción n;
    }
    

    Ejemplo 1.
    En el siguiente ejemplo se ilustra la implementación de la estructura while en la que se pretende imprimir los números 1, 2, 3 y 4.

    /**
     * Demuestra el uso de la sentencia while
     */
    public class While01 
    {
        public static void main( String args[] ) 
        {       
            int contador = 1;
            
            while ( contador <= 4 ) 
            {
                System.out.println( contador );
                contador++;
            }   //fin while       
        }   //fin del método main
    }   //fin de la clase While01
    

    Si la variable contador tiene un valor menor o igual que 4 cuando se evalúa la condición se incrementa el valor de contador y se efectúa la instrucción System.out.println. Entonces la instrucción while regresa automáticamente sobre sí misma y vuelve a probar la condición; las instrucciones se estarán repitiendo hasta que la condición no se cumpla, entonces se sale del ciclo y se siguen ejecutando las instrucciones que vienen a continuación y están fuera del ciclo.

    Ejemplo 2.
    El cuerpo de un ciclo puede contener cualquier tipo de sentencias secuenciales, selectivas o repetitivas. Cuando un ciclo está contenido en otro ciclo, se denominan ciclos anidados.

    /**
     * Demuestra el uso de la sentencia while
     */
    public class While02 
    {   
        public static void main( String args[] ) 
        {       
            int i = 1, j = 1;
            while ( i <= 3 ) 
            {
                System.out.printf( "Para i = %d : ", i );
               while ( j <= 4 ) {
                   System.out.printf( " j = %d ", j );
                   j++;
               }    //fin while
               System.out.println();
               i++;
               j=1;
            }   //fin while
        }   //fin del método main
    }   //fin de la clase While02
    

    Véase: