Java for-loop es una declaración de flujo de control que itera una parte del programa varias veces. For-loop es el bucle más utilizado en Java. Si conocemos el número de iteraciones por adelantado, entonces for-loop es la mejor opción.
Sintaxis:
for( initializationsection ; conditional check ; increment/decrement section) { // Code to be executed }
Las llaves en for loop son opcionales sin llaves en for-loop, podemos tomar solo una declaración en for-loop que no debería ser una declaración declarativa y si escribimos una declaración declarativa allí, obtendremos un error de tiempo de compilación.
Ejemplo
Java
// Java Program to illustrate the use of // for loop // Importing all input output classes import java.io.*; // Importing all classes from // java.util package import java.util.*; // Class class GFG { // Main driver method public static void main(String[] args) { // 1st for-loop // Iteration ocer 5 elements using for loop for (int i = 1; i <= 5; i++) { // Print statement System.out.println("GFG!"); } // 2nd for-loop // Declaring and initialization a variable // so we will get compile time error for (int i = 1; i <= 1; i++) int x = 0; } }
Producción:
Caso 1: Ausencia del segundo for-loop
GFG GFG GFG GFG GFG
Caso 2: Presencia del segundo for-loop
prog.java:28: error: variable declaration not allowed here int x=0; ^ 1 error
Explicación de salida:
- En la sección Inicialización, esta parte se ejecutará solo una vez en el ciclo de vida del bucle. Aquí podemos declarar e inicializar una variable local para bucle. Aquí podemos declarar cualquier cantidad de variables, pero deberíamos tener el mismo tipo por error. Si intentamos declarar un tipo de datos diferente, obtendremos un error de tiempo de compilación. En esta sección , podemos tomar cualquier instrucción Java válida, incluida ‘ System.out.println()’ .
- Durante la verificación de la condición, podemos tomar cualquier expresión java válida que debería ser de tipo booleano. Esta parte es opcional y si no tomamos nada, el compilador siempre colocará un valor verdadero aquí.
- En la sección Incrementar/Decrementar, podemos incrementar o disminuir el valor inicializado. En esta sección podemos tomar cualquier instrucción Java válida, incluido ‘ System.out.println()’ y esta sección también es opcional.
Bucle for mejorado (bucle for-each)
Este bucle for se introdujo en la versión 1.5 de Java y también es una declaración de flujo de control que itera una parte del programa varias veces. Este bucle for proporciona otra forma de recorrer la array o las colecciones y, por lo tanto, se usa principalmente para recorrer la array o las colecciones. Este bucle también hace que el código sea más legible y reduce la posibilidad de errores en el código.
Sintaxis:
for(data-type variable : array | collection) { // Code to be executed }
Ejemplo:
Java
// Java Program to show usage of for-each loop // Importing all classes from // java.util package // Importing all input output classes import java.io.*; import java.util.*; // Class class GFG { // Main driver method public static void main(String[] args) { // Declaring and initializing the integer array // Custom integer entries in an array int[] array = { 1, 2, 3, 4, 5, 6 }; // Accessing the element of array // using for-each loop for (int a : array) { // Print all elements of an array System.out.println(a); } } }
1 2 3 4 5 6
Después de visualizar ambos programas, llegamos a algunas diferencias concluyentes que se representan en formato tabular para obtener una comprensión clara de la mano.
Bucle for normal | Bucle for mejorado |
---|---|
Este bucle for está presente desde JDK1 | Este bucle for está presente en JDK5 |
En un ciclo for normal, podemos aumentar el contador según nuestro deseo usando i=i+x( donde x es cualquier constante x=1,2,3…) |
Pero el bucle for mejorado se ejecutará de forma secuencial, es decir, el contador siempre aumentará en uno. |
Usando este ciclo for podemos iterar en cualquier objeto contenedor. | Solo podemos iterar en ese contenedor usando este bucle para implementar la interfaz iterable. |
En este bucle for, podemos iterar tanto en orden decreciente como de incremento. | Pero en este ciclo for, podemos iterar solo en orden incremental. |
En este ciclo for, podemos reemplazar elementos en cualquier índice específico. | Pero en este bucle for, no tenemos acceso al índice, por lo que no podemos reemplazar elementos en ningún índice específico. |
Al usar un bucle for normal, podemos imprimir elementos de array en el orden original o en orden inverso. | Pero en el bucle for-each , podemos imprimir el elemento de array solo en el orden original, no en orden inverso |
Ejemplo: elemento de impresión en una array 1D int[ ] x={1,2,3}; for(int i=0;i<x.longitud;i++) { Sistema.salida.println(x[i]); } |
Ejemplo: elemento de impresión en una array 1D usando bucle for-each int[ ] x={1,2,3}; para (int a : x) { Sistema.salida.println(a); } |
Ejemplo: elemento de impresión en una array 2D usando bucle for int[ ][ ] x={{1,2,3},{4,5,6}}; for(int i=0;i<x.longitud;i++) { for(int j=0; j<x[i].longitud;j++) { Sistema.salida.println(x[i][j]); } } |
Ejemplo: elemento de impresión en una array 2D usando bucle for-each int[ ][ ] x={{1,2,3},{4,5,6}} ; para(int[ ] x1 :x){ para(int x2 : x1) { Sistema.fuera.println(x2); } } |
Publicación traducida automáticamente
Artículo escrito por mroshanmishra0072 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA