El bucle en los lenguajes de programación es una característica que facilita la ejecución de un conjunto de instrucciones/funciones repetidamente mientras alguna condición se evalúa como verdadera. En Java, es poco probable que cualquier lenguaje de programación proporcione cuatro formas de ejecutar los bucles, a saber, bucle while, bucle for, bucle for-each, bucle do-while o podemos llamarlo básicamente tres tipos de bucles en algunos libros como bucle for-each es tratado como bucle for mejorado. Analicemos el bucle for en detalle.
En general, tendemos a usar bucles while, ya que obtenemos una mejor comprensión si nos interesan los bucles de aprendizaje, pero después de una saturación, nosotros, como programadores, tendemos a inclinarnos hacia el bucle for, ya que es más limpio y las bases se llevan a cabo de manera directa. tenemos que comprender cuidadosamente la sintaxis de la siguiente manera:
Sintaxis: consta de tres partes, a saber, como se enumeran:
- Inicialización de variables
- Condición específica según el requisito sobre el cual se necesitan iterar estas variables definidas
- Una parte de terminación en la que generalmente jugamos con variables para llegar al estado de condición de terminación.
for(initialization; boolean expression; update statement) { // Body of for loop }
Esta es generalmente la estructura de peregrinaje básica de for loop.
Veamos algunos ejemplos básicos del uso de for loop y las trampas comunes al usar for loop, lo que nos permite saber aún mejor cómo se representará el funcionamiento interno mientras jugamos con códigos.
Caso de uso 1: es imprescindible proporcionar una expresión en el bucle for
El bucle for debe consistir en una expresión válida en la declaración del bucle que falla, lo que puede conducir a un bucle infinito. La declaración
for ( ; ; ) is similar to while(true)
Nota: Lo dicho anteriormente es el quid de la programación avanzada, ya que es el origen de la construcción lógica en la programación.
Ejemplo
Java
// Java program to illustrate Infinite For loop // Main class public class GFG { // Main driver method public static void main(String[] args) { // For loop for (;;) { // Print statement everytime condition holds // true making body to execute System.out.println("This is an infinite loop"); } } }
Salida: Imprime la declaración «Este es un ciclo infinito» repetidamente.
This is an infinite loop This is an infinite loop This is an infinite loop This is an infinite loop ... ... This is an infinite loop
Caso de uso 2: inicialización de múltiples variables
En Java, se pueden inicializar varias variables en el bloque de inicialización del bucle for independientemente de si lo usa en el bucle o no.
Ejemplo:
Java
// Java Program to Illustrate Initializing Multiple // Variables in Initialization Block // Main class public class GFG { // Main driver method public static void main(String[] args) { // Declaring an integer variable int x = 2; // For loop to iterate for (long y = 0, z = 4; x < 10 && y < 10; x++, y++) { // Printing value/s stored in variable named y // defined inside body of for loop System.out.println(y + " "); } // Printing value/s stored in variable named x // defined outside body of for loop System.out.println(x); } }
0 1 2 3 4 5 6 7 10
En el código anterior, hay una variación simple en el ciclo for. Dos variables se declaran e inicializan en el bloque de inicialización. La variable ‘z’ no se está utilizando. Además, los otros dos componentes contienen variables adicionales. Por lo tanto, se puede ver que los bloques pueden incluir variables adicionales que pueden no estar referenciadas entre sí.
Caso de uso 3: Redeclaración de una variable en el bloque de inicialización
Supongamos que una variable de inicialización ya está declarada como un número entero. Aquí no podemos volver a declararlo en bucle for con otro tipo de datos de la siguiente manera:
Ejemplo 1:
Java
// Java Program to Illustrate Redeclaring a Variable // in Initialization Block // Main class public class GFG { // Main driver method public static void main(String[] args) { // Declaring an integer variable int x = 0; // Redeclaring above variable // as long will not work for (long y = 0, x = 1; x < 5; x++) { // Printing the value inside the variable System.out.print(x + " "); } } }
Producción:
Example3.java:12: error: variable x is already defined in method main(String[]) for(long y = 0, x = 1; x < 5; x++)
Aquí, x ya se inicializó a cero como un número entero y se vuelve a declarar en el bucle con el tipo de datos largo. Pero este problema se puede solucionar modificando ligeramente el código. Aquí, las variables x e y se declaran de forma diferente.
Ejemplo 2:
Java
// Java Program to Illustrate Redeclaring a Variable // in Initialization Block // Main class public class GFG { // main driver method public static void main(String[] args) { // Declaring and initializing variables int x = 0; long y = 10; // For loop to iterate over till // custom specified check for (y = 0, x = 1; x < 5; x++) { // Printing value contained in memory block // of the variable System.out.print(x + " "); } } }
Producción:
1 2 3 4
Caso de uso 4: las variables declaradas en el bloque de inicialización deben ser del mismo tipo
Es de sentido común que cuando declaramos una variable como se muestra a continuación:
int x, y;
Aquí ambas variables son del mismo tipo. Es lo mismo en el bloque de inicialización de bucle for también.
Ejemplo:
Java
// Java program to Illustrate Declaring a Variable // in Initialization Block // Main class public class GFG { // Main driver method public static void main(String[] args) { // Declaring integer variable // int x; // Note: This will cause error; // Redeclaring x as long will not work for (long y = 0, x = 1; x < 5; x++) { // Printing the value stored System.out.print(x + " "); } } }
1 2 3 4
Caso de uso 5: solo se puede acceder a las variables en el bucle dentro de
Solo se puede acceder a las variables que se declaran en el bloque de inicialización dentro del ciclo, ya que tenemos según el concepto del alcance de las variables.
Ejemplo:
Java
// Java Program to Illustrate Scope of Initializing // Variables Within the oop // Main class public class GFG { // Main driver method public static void main(String[] args) { // x and y scope is declared only // within for loop for (int x = 0, y = 0; x < 3 && y < 3; x++, y++) { // Printing value stored in variable named y System.out.println(y + " "); } // Printing value stored in variable named x // after inner loop is over System.out.println(x); } }
Error:
Example5.java:13: error: cannot find symbol System.out.println(x);
En el ejemplo anterior, la variable x no es accesible fuera del bucle. La declaración que se comenta da un error de compilación.
Este artículo es una contribución de Preeti Pardeshi . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA