¿Qué es la estructura for/in
o foreach
?
Es una forma mejorada del bucle for
, pensada especialmente para recorrer arrays o colecciones sin tener que preocuparse de índices o del tamaño del array.
Sintaxis:
for (Tipo variable : array_o_colección) {
// Código que se ejecuta en cada iteración
}
Tipo
: el tipo de datos del array (por ejemplo,int
,String
, etc.).variable
: una variable temporal que contiene cada elemento del array o colección en cada vuelta.array_o_colección
: el conjunto de elementos que quieres recorrer.
Cómo funciona?
En cada iteración del bucle:
- Se toma un elemento del array o colección.
- Ese elemento se guarda automáticamente en la variable temporal.
- Se ejecuta el código dentro del bucle usando ese elemento.
- Se repite hasta que se recorre todo el array.
Ejemplo:
String[] nombres = {"Ana", "Luis", "Marta"};
for (String nombre : nombres) {
System.out.println(nombre);
}
Salida:
Ana
Luis
Marta
¿Qué NO puedes hacer directamente?
- Saber en qué posición estás dentro del array (a menos que tú declares un contador).
- Modificar directamente el array original (aunque sí puedes trabajar con copias o cambiar el contenido si es mutable).
Actividades de programación
Actividad 1: Imprimir nombres
Crea un array de nombres de personas y usa un bucle for-each
para imprimir cada nombre.
String[] nombres = {"Ana", "Luis", "Pedro", "María"};
Objetivo: Recorrer el array e imprimir: “Hola, Ana”, “Hola, Luis”, etc..
public class ForeachNombres {
public static void main(String[] args) {
String[] nombres = {“Ana”, “Luis”, “Pedro”, “María”};
for (String nombre : nombres) {
System.out.println(“Hola, ” + nombre);
}
}
}
Actividad 2: Sumar edades
Crea un array con edades (números enteros). Usa for-each
para calcular la suma total de las edades.
int[] edades = {18, 25, 30, 22, 40};
Objetivo: Mostrar el total de edades sumadas: “La suma de las edades es: 135”
public class ForeachSumarEdades {
public static void main(String[] args) {
int [] edades = {52, 50, 15, 4};
int suma = 0;
for(int edad : edades){
suma += edad; // es lo mismo que decir suma = suma + edad
}
System.out.println(“La suma total de la edades es ” + suma);
}
}
Actividad 3: Contar palabras largas
Crea un array de palabras. Usa for-each
para contar cuántas tienen más de 5 letras.
String[] palabras = {"sol", "universo", "luz", "estrellas", "vida"};
Objetivo: Mostrar cuántas palabras tienen más de 5 letras.
public class ForeachContarPalabras {
public static void main(String[] args) {
String[] palabras = {“sol”, “universo”, “luz”, “estrellas”, “vida”};
int contador = 0;
for (String palabra : palabras) {
if (palabra.length() > 5) {
contador++;
}
}
System.out.println(“Hay ” + contador + ” palabras con más de 5 letras.”);
}
}
Actividad 4: Convertir a mayúsculas
Crea un array con frases o palabras y usa for-each
para imprimirlas en mayúsculas.
String[] frases = {"hola", "mundo", "java", "es divertido"};
Objetivo: Imprimir: HOLA, MUNDO, JAVA, etc.
public class ForeachConvertirMayusculas {
public static void main(String[] args) {
String[] frases = {“hola”, “mundo”, “java”, “es divertido”};
for (String frase : frases) {
System.out.println(frase.toUpperCase());
}
}
}
Actividad 5: Buscar número par
Crea un array de números. Usa for-each
para imprimir sólo los números pares.
int[] numeros = {3, 8, 11, 14, 17, 20};
Objetivo: Mostrar solo: 8, 14, 20.
public class ForeachBuscarPar {
public static void main(String[] args) {
int[] numeros = {3, 8, 11, 14, 17, 20};
for (int numero : numeros) {
if (numero % 2 == 0) {
System.out.println(numero);
}
}
}
}