Ir al contenido principal

Estructuras de Control repetitivas en Java: FOR, WHILE, DO WHILE


estructuras de control repetitivas en Java

ESTRUCTURAS DE CONTROL REPETITIVAS O ITERATIVAS

Esta vez vamos a ver cómo se utiliza las estructuras de control repetitivas en Java (también conocidas como ciclos o bucles). Como mencionaba en el tutorial Estructuras de control condicionales vamos a necesitar de estas estructuras al momento de programar, y pues bueno este tipo de estructuras de control se las utiliza cuando necesitamos recorrer un conjunto de datos, por ejemplo al leer un archivo, al leer registros de una base de datos, en fin, en todos los problemas en los que se tenga que hacer iteraciones, bucles, siempre vamos a necesitar de estas estructuras.

LA ESTRUCTURA DE CONTROL FOR

El ciclo for permite ejecutar un conjunto de sentencias un número fijo de veces y antes de saber cómo funciona esta sentencia, primero que nada vamos a ver la sintaxis.

Nota importante: Este ciclo se lo utiliza cuando sabemos el número de veces que se debe ejecutar el ciclo.

VAMOS A VER COMO FUNCIONA

Como podemos ver esta sentencia esta compuesta de 3 partes separadas por ; (punto y coma) la primera parte llamada inicialización permite controlar el ciclo, suele ser la variable de tipo entero por lo general la letra i, pero puede ser cualquier otra letra, esta variable es declarada e inicializada dentro de la estructura aunque se la puede hacer desde fuera, la variable de inicialización indica desde que valor va empezar el ciclo.

La segunda parte es la condición, la condición indica cuantas veces se va ejecutar el ciclo y se evalúa antes de cada iteración, si la condición es verdadera el ciclo continua, tomar en cuenta que si se omite esta parte, el ciclo se vuelve infinito.

La tercera parte es el incremento o decremento y le indica en pasos de cuanto debe incrementarse o decrementarse la variable de inicialización en cada iteración, por lo general es de uno en uno, pero todo dependerá del problema que se quiera resolver, también puede omitirse esta parte, si se lo hace el ciclo se vuelve infinito (no siempre).

AHORA UN EJEMPLO

  1. Imprimir por consola los números enteros desde el 2 hasta 20

Este es un problema sencillo que se lo puede resolver utilizando el ciclo for

PROCESO

  1. La variable i es declarada en inicializada en 2 (también se la puede declarar en inicializar fuera y omitir esa parte).
  2. Seguido de esto el compilador verifica si la variable i es menor a 21, si es correcto continúa el ciclo, ejecuta la (s) instrucciones y luego.
  3. La variable i se incrementa en 2.

El compilador repite las mismas instrucciones desde el paso 2 hasta que i toma el valor de 22, la condición se verifica y como no se cumple, el ciclo termina.

El ciclo for puede tomar varias sintaxis sin que esto genere errores de compilación o cambie el resultado del programa. A continuación se muestra algunas sintaxis con las que nos podemos encontrar.

Ahora el mismo ejemplo anterior lo adaptamos a esta sintaxis, como se puede ver la variable de incremento se omite y se la pone dentro del ciclo, luego de las instrucciones.

Nota: En este caso la variable i es visible sólo dentro del ciclo for, puesto que se la ha declarado e inicializado dentro del ciclo, si la quisiéramos utilizar fuera, nos va lanzar un error.

En algunos casos también se presenta con la siguiente sintaxis, en este caso la variable de inicio esta fuera del ciclo y la variable de incremento está después de las instrucciones a ejecutar.

En este caso la variable i es visible para todo el programa puesto que la hemos declarado fuera del ciclo.

LA ESTRUCTURA DE CONTROL WHILE

Esta estructura es parecida al ciclo for, la diferencia está en su sintaxis:

El ciclo while permite ejecutar n veces un conjunto de instrucciones siempre y cuando la condición se cumpla o sea verdadera.

Nota importante: Este ciclo se utiliza cuando no sabemos el número de veces exacto que se ejecutará el ciclo.

Si la condición siempre es verdadera o siempre se cumple este ciclo puede crear un bucle que nunca termine, por eso hay que tener en cuenta que en algún momento del ciclo la condición no debe cumplirse (debe volverse falsa) para que el ciclo termine, caso contrario el ciclo se vuelve infinito.

VAMOS A VER UN EJEMPLO

  1. Ingresar un número por teclado e imprimir por la consola su decena superior: Ejemplo sin ingreso el número 5, su decena superior es 10, si ingreso el 25, su decena superior es 30. 

ANÁLISIS DEL PROBLEMA PARA SABER QUE CICLO UTILIZAR

El ejemplo anterior lo podemos resolver también con un ciclo for, pero como no sabemos cuantas iteraciones o cuantas veces se repite el ciclo ya que la decena superior cambiará de acuerdo al número ingresado, es recomendable utilizar el ciclo while.

A continuación el código.

Explicando un poco el ciclo, en la línea 12, se obtiene el número desde teclado (si deseas un ejemplo completo de cómo ingresar números desde teclado puedes ingresar a esta entrada Entrada de datos en Java utilizando la Clase Scanner), en la línea 13 empieza el ciclo while, la condición para que ingrese al ciclo, es que el módulo o resto de dividir el número entre 10 sea diferente de cero.

El módulo de dividir cualquier número entre 10, (excepto los múltiplos de 10 por ejemplo 10, 20, 30, 40, etc..) siempre nos dará un valor diferente de cero y por ende ingresa al ciclo.

Entonces la idea es ir incrementando el número ingresado hasta que sea múltiplo de 10 y con esto el módulo de dividir el número entre 10 va ser cero y por ende ya no va ingresar al bucle.

Con esto el número se habrá incrementado y sabremos cual es la decena superior de cualquier número ingresado.

LA ESTRUCTURA DE CONTROL DO WHILE

El ciclo do while también permite ejecutar n número de veces un conjunto de instrucciones, es muy parecida a las otras 2 estructuras de control que hemos visto anteriormente, salvo que este ciclo siempre se ejecuta por lo menos una vezrecordemos que en el ciclo for debemos conocer el número de veces que se va ejecutar las instrucciones, el ciclo while hay una condición que se debe cumplir para que se ejecuten las instrucciones, en cambio en el ciclo do while primero se ejecutan las instrucciones y luego verifica la condición y si esta es verdadera el ciclo se repite hasta verificar de nuevo la condición, para salir del ciclo la condición se debe volver falsa.

La sintaxis del ciclo do while es la siguiente:

VAMOS A VER UN EJEMPLO

  1. Obtener los dígitos de un número ingresado por teclado, ejemplo 100, tiene 3 dígitos.

Una forma para obtener los dígitos que tiene un número, realizamos divisiones sucesivas entre 10 hasta que el número se vuelve cero (del resultado de la división sólo se debe tomar la parte entera), para obtener el número de dígitos contamos las veces que se ha dividido. Por ejemplo tenemos el número 345:

El resultado debe ser almacenado en una variable de tipo entero.

345/10=34

34/10=3

3/10=0

En este caso se ha realizado 3 divisiones por lo que el número de dígitos es 3.

También hubiésemos podido utilizar el ciclo while que funciona con todos los números, menos con el número 0 (cero), no entra en el ciclo porque número es igual que cero y por ende la respuesta va ser:

Esto se soluciona con el ciclo do while que me garantiza que por lo menos el ciclo se va ejecutar una vez, con esto, si se ingresa el número cero va ingresar al ciclo ya que la condición se verifica al final.

Nota importante: Este ciclo se utiliza cuando sabemos que se ejecutará el ciclo al menos una vez .

Estimados no se olviden de participar con sus comentarios después de haber leído todo lo referente con algunos ejemplos:

Comentarios

  1. Me pareció muy interesante el uso de la Estructuras de control repetitivas en Java la cuál tenemos a FOR,WHILE y DO WHILE,cada una cumple con un rol específico.
    FOR:Permite ejecutar un conjunto de sentencias un número fijo de veces.
    WHILE:Permite ejecutar n veces un conjunto de instrucciones siempre y cuando la condición se cumpla o sea verdadera.
    DO WHILE:Permite ejecutar n. número de veces un conjunto de Instrucciones.

    ResponderEliminar
  2. Brian Bances Atencio19 de octubre de 2020, 15:21

    package problema_a;
    public class Problema_a {
    public static void main(String[] args) {
    System.out.println("********TABLA DE MULTIPLICAR DEL 1 AL 5********");
    int i,j;
    for(i = 1; i<=5; i++)
    {
    for(j = 1; j <= 12; j++)
    {
    System.out.println(i + " X " + j + " = " + i*j);
    }
    System.out.println();
    }
    }
    }

    ResponderEliminar
  3. package problema_c;
    import java.util.Scanner;
    public class Problema_c {
    public static void main(String[] args) {
    Scanner sc = new Scanner(System.in); //Scanner es un objeto que permite almacenar variables dentro de ella(vendria a ser como un caja)
    int cantidad_num,cont_ceros,cont_negativos,cont_positivos,i,num;//declaracion de variables como enteres
    //iniciamos las variables que van a contar los numeros negativos,positivos y ceros en 0
    cont_negativos = 0;
    cont_positivos = 0;
    cont_ceros = 0;
    System.out.println("¿Cuántos números vas a introducir?:");//Sentencia que permite mostrar un mensaje
    cantidad_num = sc.nextInt();//Sentencia que permite leer una variable

    for (i = 1; i <= cantidad_num; i++) {//iniciamos un for que empezara en i =1 ,hasta i<=cantidad_num(cantidad ingresada antes), y aumentara de 1 en 1
    System.out.println("Número " + i + ":");//Sentencia que permite mostrar un mensaje
    num = sc.nextInt();//Sentencia que permite leer una variable
    if (num > 0) {//iniciamos una sentencia para que si num>0 contara los numeros mayores a cero
    cont_positivos = cont_positivos + 1;
    } else {//sino
    if (num < 0) {// si num es menor a 0 contara los numeros ingresados menores a 0
    cont_negativos = cont_negativos + 1;
    } else {//si no solo contara los 0 ingresados por teclado
    cont_ceros = cont_ceros + 1;
    }
    }
    }
    System.out.println("Números positivos:" + cont_positivos);//AQUI MUESTRA EL RESULTADO DE LA SUMATORIA DE LOS NUMEROS POSITIVOS INGRESADOS POR TECLADO
    System.out.println("Números negativos:" + cont_negativos);//AQUI MUESTRA EL RESULTADO DE LA SUMATORIA DE LOS NUMEROS NEGATIVOS INGRESADOS POR TECLADO
    System.out.println("Números igual a 0:" + cont_ceros);//AQUI MUESTRA EL RESULTADO DE LA SUMATORIA DE LOS NUMEROS 0 INGRESADOS POR TECLADO
    }
    }

    ResponderEliminar
  4. Hernández Ruiz Kevin Jair:

    En la parte de la sentencia "For", o en Pseudolenguaje llamado "Para", puede determinarse al comienzo del bucle cuántas veces se deberá repetir el mismo hasta completar la condición, Por otro lado en la sentencia "do While" o "Hacer mientras" , que se repite la ejecución mientras se cumpla cierta condición, y finalmente en la sentencia "While" o "Mientras", que es similar a do while ya que si queremos repetir la ejecución de una sentencia, un número indefinido de veces, siempre que se cumpla una condición.
    En conclusión las tres sentencias siempre si repiten hasta completar la condición planteada.

    ResponderEliminar
  5. Super entendible y precisa la información del bloc Profesor sobre el control de estructuras repetitivas. Me quedo claro de que este tipo de estructuras de control se las utiliza cuando necesitamos recorrer un conjunto de datos, por ejemplo al leer un archivo, al leer registros de una base de datos. Estás estructuras la podemos aplicar en todos los problemas en los que se tenga que hacer iteraciones y bucles, por eso es fundamental tener conocimiento sobre ellas.

    ResponderEliminar
  6. Su uso principal se orienta a vectores, pudiendo modificar, agregar, eliminar o consultar datos que se encuentren según el índice. Una condición mínima del vector es que debe ser ordenado, porque si se intenta leer un dato inexistente, esto genera un error de programación.
    El ciclo while es una estructura simple y practica ya que su sintaxis es eficaz para multiples situaciones en las que cualquier otra no es util.
    El ciclo do while permite al programador asignar un proceso mientras de cumpla la condicion determinada. Su diferencia básica con el ciclo while es que la prueba de condición es hecha al finalizar el ciclo, es decir las instrucciones se ejecutan al menos una vez porque primero ejecuta las instrucciones y al final evalúa la condición; También se le conoce por esta razón como ciclo de condición de salida.

    ResponderEliminar
  7. Muy acertada y precisa información acerca de cómo usar las estructuras de control en java las cuales son muy necesarias para la programación . ESTRUCTURA DE CONTROL FOR
    Este ciclo FOR permite ejecutar un conjunto de sentencias un número fijo de veces y antes de saber cómo funciona esta sentencia, solo se puede usar cuando se conoce el número de veces que se debe ejecutar el ciclo.
    LA ESTRUCTURA DE CONTROL WHILE
    El ciclo while permite ejecutar n veces un conjunto de instrucciones siempre y cuando la condición se cumpla o sea verdadera, solo puede ser utilizado cuando no se conocen el número de veces que se va a ejecutar el ciclo.
    LA ESTRUCTURA DE CONTROL DO WHILE
    El ciclo do while también permite ejecutar n número de veces un conjunto de instrucciones, se parece a los dos anteriores pero se diferencia porque este ciclo siempre se ejecuta por lo menos una vez. Se ejecutan las instrucciones y luego verifica la condición y si esta es verdadera el ciclo se repite hasta verificar de nuevo la condición

    ResponderEliminar
  8. ELISER SEGURA MONTENEGRO20 de octubre de 2020, 18:48

    Las estructuras de control repetitivas en Java: FOR, WHILE, DO WHILE: se las utiliza cuando necesitamos recorrer un conjunto de datos, por ejemplo al leer un archivo, al leer registros de una base de datos, en fin, en todos los problemas en los que se tenga que hacer iteraciones, bucles, siempre vamos a necesitar de estas estructuras.

    ResponderEliminar
  9. - La estructura de control "for" permite ejecutar un bloque de instrucciones un número determinado de veces mientras se cumpla una condición.
    - La instrucción "While", es una estructura de control repetitiva que puede
    impedir la ejecución de un conjunto de instrucciones
    esto significa que se convierte en repetitiva únicamente cuando la evaluación de la condición es verdadera.
    - La instrucción "do-while", es otra estructura de control repetitiva que se caracteriza porque ejecuta un conjunto de instrucciones sin realizar previamente la evaluación de la expresión relacional y/o lógica.

    ResponderEliminar
  10. - La estructura de control "for" permite ejecutar un bloque de instrucciones un número determinado de veces mientras se cumpla una condición.
    - La instrucción "While", es una estructura de control repetitiva que puede
    impedir la ejecución de un conjunto de instrucciones
    esto significa que se convierte en repetitiva únicamente cuando la evaluación de la condición es verdadera.
    - La instrucción "do-while", es otra estructura de control repetitiva que se caracteriza porque ejecuta un conjunto de instrucciones sin realizar previamente la evaluación de la expresión relacional y/o lógica.

    ResponderEliminar
  11. - La estructura de control "for" permite ejecutar un bloque de instrucciones un número determinado de veces mientras se cumpla una condición.
    - La instrucción "While", es una estructura de control repetitiva que puede
    impedir la ejecución de un conjunto de instrucciones
    esto significa que se convierte en repetitiva únicamente cuando la evaluación de la condición es verdadera.
    - La instrucción "do-while", es otra estructura de control repetitiva que se caracteriza porque ejecuta un conjunto de instrucciones sin realizar previamente la evaluación de la expresión relacional y/o lógica.

    ResponderEliminar
  12. - La estructura de control "for" permite ejecutar un bloque de instrucciones un número determinado de veces mientras se cumpla una condición.
    - La instrucción "While", es una estructura de control repetitiva que puede
    impedir la ejecución de un conjunto de instrucciones
    esto significa que se convierte en repetitiva únicamente cuando la evaluación de la condición es verdadera.
    - La instrucción "do-while", es otra estructura de control repetitiva que se caracteriza porque ejecuta un conjunto de instrucciones sin realizar previamente la evaluación de la expresión relacional y/o lógica.

    ResponderEliminar
  13. Albert Vladimir Cruz Tocto21 de octubre de 2020, 9:12

    Las estructuras de control repetitivas FOR, WHILE y DO-WHILE nos permiten a poder controlar y a leer un conjunto de datos , archivos, etc. Nos facilitan el manejo de los datos de nuestro código de una forma rápida y sencilla.

    ResponderEliminar
  14. En conclusión podemos decir que las estructuras de control son de gran ayuda al momento de solucionar problemas informáticos ya que con su facilidad de interpretación y de manejo al momento de utilizarlas en los pseudocódigos nos ahorra tiempo y espacio.

    ResponderEliminar
  15. Las estructuras de repetición son utilizadas para repetir un proceso (llamado ciclo) las veces que sea necesario en un determinado programa. while es una de las más utilizadas en este proceso , ya que su estructura es simple y fácil de implementar.

    ResponderEliminar
  16. EN CONCLUSIÓN PODEMOS DECIR QUE LAS ESTRUCTURAS SON UTILIZADAS PARA REPETIR PROCESOS EN EL CUAL NOS PUEDEN AYUDAR A SOLUCIONAR CUALQUIER PROBLEMAS QUE SEAN NECESARIOS EN LA HORA DE IMPLEMENTARLOS EN EL PSEUDOCÓDIGO.

    ResponderEliminar
  17. El ciclo while es una estructura simple y practica ya que su sintaxis es eficaz para multiples situaciones en las que cualquier otra no es util.

    ResponderEliminar
  18. Las estructuras repetitivas se utilizan cuando se quiere que un conjunto de instrucciones se ejecuten un cierto número finito de veces, por ejemplo, escribir algo en pantalla cierta cantidad de veces, mover un objeto de un punto a otra cierta cantidad de pasos, o hacer una operación matemática cierta cantidad de veces

    ResponderEliminar
  19. Estructuras De Control Repetitivas O Iterativas, se le conoce como estructuras repetitivas, Se utiliza para resolver problemas donde sea necesario, también puede repetir un determinado número de veces un conjunto de instrucciones.

    ResponderEliminar
  20. Excelente blog!!, muchas gracias por la contribución al aprendizaje ya que es importante conocer a profundidad cada uno de las estructuras de control en java, por que al momento de programar es de suma importancia tener bien en claro estos conceptos básicos. Conociendo como se emplean cada uno de estos, podremos adaptarlos según las necesidades de nuestro proyecto.

    ResponderEliminar
  21. Muy buena información para estructurar control repetitivas o iterativas en el uso de comandos con el control while, eso nos ayuda mucho en el proceso de un programador.

    ResponderEliminar
  22. El ciclo "while" en Java nos permite ejecutar un conjunto de sentencias cuando se cumple una determinada condición, es decir, siempre que la condición sea verdadera, seguirá ejecutando instrucciones.
    “dowhile” es otra estructura de control repetitiva, que se caracteriza por ejecutar un conjunto de instrucciones sin evaluación previa de relaciones.

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Ejercicios para aprender AutoCAD 3D

Piezas 3D - interesantes

Cómo instalar una fuente de alimentación