Las sentencias de programa estructuradas secuencialmente sólo se pueden ejecutar una vez. Si desea realizar la misma operación varias veces, debe utilizar una estructura de bucle.
Hay tres estructuras de bucle principales en Java:
mientras bucle
hacer...mientras bucle
para bucle
En Java5 se introdujo un bucle for mejorado principalmente para matrices.
while es el bucle más básico, su estructura es:
mientras (expresión booleana) {
//Contenido del bucle}
Mientras la expresión booleana sea verdadera, el cuerpo del bucle continuará ejecutándose.
Prueba de clase pública {
público estático vacío principal (String args []) {
entero x = 10;
mientras (x < 20) {
System.out.print("valor de x: " + x );
x++;
System.out.print("n");
}
}
}
Los resultados de compilación y ejecución del ejemplo anterior son los siguientes:
valor de x: 10
valor de x: 11
valor de x: 12
valor de x: 13
valor de x: 14
valor de x: 15
valor de x: 16
valor de x: 17
valor de x: 18
valor de x: 19
Para la declaración while, si no se cumple la condición, no se puede ingresar al bucle. Pero a veces necesitamos ejecutarlo al menos una vez incluso si no se cumplen las condiciones.
El bucle do... while es similar al bucle while, excepto que el bucle do... while se ejecutará al menos una vez.
hacer {
// Declaración de código} while (expresión booleana);
Nota: La expresión booleana está después del cuerpo del bucle, por lo que el bloque de instrucciones se ejecutó antes de que se detecte la expresión booleana. Si la expresión booleana se evalúa como verdadera, el bloque de instrucciones se ejecuta hasta que la expresión booleana se evalúa como falsa.
Prueba de clase pública {
principal vacío estático público (String args []) {
entero x = 10;
hacer{
System.out.print("valor de x: " + x );
x++;
System.out.print("n");
}mientras( x < 20 );
Los resultados de compilación y ejecución del ejemplo anterior son los siguientes:
valor de x: 10
valor de x: 11
valor de x: 12
valor de x: 13
valor de x: 14
valor de x: 15
valor de x: 16
valor de x: 17
valor de x: 18
valor de x: 19
Aunque todas las estructuras de bucle se pueden expresar con while o do... while, Java proporciona otra declaración: el bucle for, que simplifica algunas estructuras de bucle.
El número de veces que se ejecuta el bucle for se determina antes de la ejecución. El formato de sintaxis es el siguiente:
for(inicialización; expresión booleana; actualización) {
// declaración de código}
Aquí hay algunas notas sobre el bucle for:
El paso de inicialización se realiza primero. Se puede declarar un tipo, pero se pueden inicializar una o más variables de control de bucle o puede ser una declaración vacía.
Luego, pruebe el valor de la expresión booleana. Si es verdadero, se ejecuta el cuerpo del bucle. Si es falso, el bucle termina y comienza la ejecución de las instrucciones que siguen al cuerpo del bucle.
Después de ejecutar el bucle una vez, actualice las variables de control del bucle.
Verifique la expresión booleana nuevamente. Realice el proceso anterior en un bucle.
Prueba de clase pública {
público estático vacío principal (String args []) {
para(int x = 10; x < 20; x = x+1) {
System.out.print("valor de x: " + x );
System.out.print("n");
}
}
}
Los resultados de compilación y ejecución del ejemplo anterior son los siguientes:
valor de x: 10
valor de x: 11
valor de x: 12
valor de x: 13
valor de x: 14
valor de x: 15
valor de x: 16
valor de x: 17
valor de x: 18
valor de x: 19
Java5 introdujo un bucle for mejorado principalmente para matrices.
El formato de sintaxis de bucle for mejorado de Java es el siguiente:
para (declaración: expresión)
{
//frase de código}
Declaración de declaración: declara una nueva variable local. El tipo de la variable debe coincidir con el tipo del elemento de la matriz. Su alcance se limita al bloque de instrucciones de bucle y su valor es igual al valor del elemento de la matriz en este momento.
Expresión: la expresión es el nombre de la matriz a la que se accederá o un método que devuelve una matriz.
Prueba de clase pública {
principal vacío estático público (String args []) {
int [] números = {10, 20, 30, 40, 50};
para (int x: números) {
Sistema.out.print(x);
System.out.print(",");
}
System.out.print("n");
Cadena [] nombres ={"James", "Larry", "Tom", "Lacy"};
para (nombre de cadena: nombres) {
System.out.print( nombre );
System.out.print(",");
}
}
}
Los resultados de compilación y ejecución del ejemplo anterior son los siguientes:
10,20,30,40,50,
James, Larry, Tom, Lacy,
break se usa principalmente en declaraciones de bucle o declaraciones de cambio para saltar de todo el bloque de declaraciones.
break salta del bucle más interno y continúa ejecutando las instrucciones debajo del bucle.
El uso de break es muy simple, es una declaración en la estructura del bucle:
romper;
Prueba de clase pública {
público estático vacío principal (String args []) {
int [] números = {10, 20, 30, 40, 50};
para (int x: números) {
si( x == 30 ) {
romper;
}
Sistema.out.print(x);
System.out.print("n");
}
}
}
Los resultados de compilación y ejecución del ejemplo anterior son los siguientes:
10
20
continuar se aplica a cualquier estructura de control de bucle. La función es permitir que el programa salte inmediatamente a la siguiente iteración del ciclo.
En el bucle for, la instrucción continuar hace que el programa salte inmediatamente a la instrucción de actualización.
En un ciclo while o do... while, el programa salta inmediatamente a la declaración de juicio de la expresión booleana.
continuar es una declaración simple en el cuerpo del bucle:
continuar;
Prueba de clase pública {
público estático vacío principal (String args []) {
int [] números = {10, 20, 30, 40, 50};
para (int x: números) {
si( x == 30 ) {
continuar;
}
Sistema.out.print(x);
System.out.print("n");
}
}
}
Los resultados de compilación y ejecución del ejemplo anterior son los siguientes:
10
20
40
50