Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Java

Bucle de Java while y do...while

Java while y do...while Bucle

En este tutorial, aprenderemos a usar while y do while en Java con la ayuda de ejemplos.

En la programación de computadoras, los bucles se usan para repetir un bloque de código. Por ejemplo, si desea mostrar un mensaje 100 veces, puede usar un bucle. Es solo un ejemplo simple; puedes lograr mucho más con los bucles.

En el tutorial anterior, aprendiste sobre Java for loop. Aquí aprenderá sobre while y do...while bucles.


bucle while de Java

Java while loop se utiliza para ejecutar un código específico hasta que se cumpla una determinada condición. La sintaxis del while el bucle es:

while (testExpression) {
    // body of loop
}

Aquí,

  1. A while loop evalúa la textExpression dentro del paréntesis () .
  2. Si textExpression evalúa a true , el código dentro del while se ejecuta el bucle.
  3. La expresión de texto se vuelve a evaluar.
  4. Este proceso continúa hasta que textExpression es false .
  5. Cuando textExpression evalúa a false , el bucle se detiene.

Para obtener más información sobre las condiciones, visite Operadores lógicos y relacionales de Java.


Diagrama de flujo del ciclo while


Ejemplo 1:mostrar números del 1 al 5

// Program to display numbers from 1 to 5

class Main {
  public static void main(String[] args) {

    // declare variables
    int i = 1, n = 5;

    // while loop from 1 to 5
    while(i <= n) {
      System.out.println(i);
      i++;
    }
  }
}

Salida

1
2
3
4
5

Así es como funciona este programa.

Iteración Variable Condición:yo <=n Acción
i = 1
n = 5
true 1 está impreso.
yo se incrementa a 2 .
2do i = 2
n = 5
true 2 está impreso.
yo se incrementa a 3 .
3ro i = 3
n = 5
true 3 está impreso.
yo se incrementa a 4 .
i = 4
n = 5
true 4 está impreso.
yo se incrementa a 5 .
i = 5
n = 5
true 5 está impreso.
yo se incrementa a 6 .
i = 6
n = 5
false El bucle se termina

Ejemplo 2:Suma de números positivos solamente

// Java program to find the sum of positive numbers
import java.util.Scanner;

class Main {
  public static void main(String[] args) {
      
    int sum = 0;

    // create an object of Scanner class
    Scanner input = new Scanner(System.in);

    // take integer input from the user
    System.out.println("Enter a number");
    int number = input.nextInt();
	   
    // while loop continues 
    // until entered number is positive
    while (number >= 0) {
      // add only positive numbers
      sum += number;

      System.out.println("Enter a number");
      number = input.nextInt();
    }
	   
    System.out.println("Sum = " + sum);
    input.close();
  }
}

Salida

Enter a number
25
Enter a number
9
Enter a number
5
Enter a number
-3
Sum = 39

En el programa anterior, hemos utilizado la clase Scanner para recibir información del usuario. Aquí, nextInt() toma datos enteros del usuario.

El while el ciclo continúa hasta que el usuario ingresa un número negativo. Durante cada iteración, el número ingresado por el usuario se agrega al sum variables.

Cuando el usuario ingresa un número negativo, el ciclo termina. Finalmente, se muestra la suma total.


Java do...while bucle

El do...while bucle es similar a bucle while. Sin embargo, el cuerpo de do...while loop se ejecuta una vez antes de que se verifique la expresión de prueba. Por ejemplo,

do {
    // body of loop
} while(textExpression);

Aquí,

  1. El cuerpo del bucle se ejecuta al principio. Luego la expresión de texto se evalúa.
  2. Si textExpression evalúa a true , el cuerpo del ciclo dentro del do se ejecuta de nuevo.
  3. La expresión de texto se evalúa una vez más.
  4. Si textExpression evalúa a true , el cuerpo del ciclo dentro del do se ejecuta de nuevo.
  5. Este proceso continúa hasta que textExpression evalúa a false . Entonces el bucle se detiene.

Diagrama de flujo del bucle do...while


Veamos el funcionamiento de do...while bucle.

Ejemplo 3:mostrar números del 1 al 5

// Java Program to display numbers from 1 to 5

import java.util.Scanner;

// Program to find the sum of natural numbers from 1 to 100.

class Main {
  public static void main(String[] args) {

    int i = 1, n = 5;

    // do...while loop from 1 to 5
    do {
      System.out.println(i);
      i++;
    } while(i <= n);
  }
}

Salida

1
2
3
4
5

Así es como funciona este programa.

Iteración Variable Condición:yo <=n Acción
  i = 1
n = 5
no marcado 1 está impreso.
yo se incrementa a 2 .
i = 2
n = 5
true 2 está impreso.
yo se incrementa a 3 .
2do i = 3
n = 5
true 3 está impreso.
yo se incrementa a 4 .
3ro i = 4
n = 5
true 4 está impreso.
yo se incrementa a 5 .
i = 5
n = 5
true 6 está impreso.
yo se incrementa a 6 .
i = 6
n = 5
false El bucle se termina

Ejemplo 4:Suma de Números Positivos

// Java program to find the sum of positive numbers
import java.util.Scanner;

class Main {
  public static void main(String[] args) {
      
    int sum = 0;
    int number = 0;

    // create an object of Scanner class
    Scanner input = new Scanner(System.in);
	   
    // do...while loop continues 
    // until entered number is positive
    do {
      // add only positive numbers
      sum += number;
      System.out.println("Enter a number");
      number = input.nextInt();
    } while(number >= 0); 
	   
    System.out.println("Sum = " + sum);
    input.close();
  }
}

Salida 1

Enter a number
25
Enter a number
9
Enter a number
5
Enter a number
-3
Sum = 39

Aquí, el usuario ingresa un número positivo, ese número se suma a la suma variable. Y este proceso continúa hasta que el número es negativo. Cuando el número es negativo, el ciclo termina y muestra la suma sin sumar el número negativo.

Salida 2

Enter a number
-8
Sum is 0

Aquí, el usuario ingresa un número negativo. La condición de prueba será false pero el código dentro del bucle se ejecuta una vez.


Bucle while infinito

Si la condición de un bucle siempre es true , el bucle se ejecuta infinitas veces (hasta que la memoria está llena). Por ejemplo,

// infinite while loop
while(true){
    // body of loop
}

Aquí hay un ejemplo de un do...while infinito bucle.

// infinite do...while loop
int count = 1;
do {
   // body of loop
} while(count == 1)

En los programas anteriores, textExpression siempre es true . Por lo tanto, el cuerpo del bucle se ejecutará infinitas veces.


bucles for y while

El for loop se utiliza cuando se conoce el número de iteraciones. Por ejemplo,

for (let i = 1; i <=5; ++i) {
   // body of loop
}

Y while y do...while los bucles se utilizan generalmente cuando se desconoce el número de iteraciones. Por ejemplo,

while (condition) {
    // body of loop
}

Java

  1. Variables y literales de Java
  2. Expresiones, declaraciones y bloques de Java
  3. Java para cada bucle
  4. Objetos y clases de Java
  5. Clase abstracta de Java y métodos abstractos
  6. Clase interna y anidada de Java
  7. Java lanza y lanza
  8. Autoboxing y unboxing de Java
  9. Diferencia entre while y do-while:explicada con ejemplos
  10. Programa numérico Palindrome en Java usando while &for Loop
  11. Java - Objeto y Clases