Programación 1º – UD4 – Estructura for/in (foreach)

Programación 1º – UD4 – Estructura for/in (foreach)

¿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:

  1. Se toma un elemento del array o colección.
  2. Ese elemento se guarda automáticamente en la variable temporal.
  3. Se ejecuta el código dentro del bucle usando ese elemento.
  4. 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).

PROGRAMACIÓN

Preguntas de Programación de DAM

Actividades de Programación UD4 - 4.2. Estructura for/in (foreach)

Preguntas de Programación de 1ºDAM de la Unidad 4: Estructura de repetición for/in (foreach).

1 / 10

¿Qué hace este código?

char[] letras = {'a', 'b', 'c'};
for (char letra : letras) {
    System.out.print(letra + "-");
}

2 / 10

¿Qué imprimirá el siguiente código?

int[] numeros = {};
for (int num : numeros) {
    System.out.println(num);
}

3 / 10

¿Qué sucede aquí?

String[] nombres = {"Ana", "Luis", "Marta"};
for (String nombre : nombres) {
    nombre = "Pedro";
}
System.out.println(nombres[0]);

4 / 10

¿Cuál es el resultado de este bucle?

int[] valores = {10, 20, 30};
for (int x : valores) {
    System.out.print(x + " ");
}

5 / 10

¿Qué imprimirá este código?

String[] frutas = {"Manzana", "Pera"};
for (String fruta : frutas) {
    System.out.println(fruta.toUpperCase());
}

6 / 10

¿Cuál es el valor final de suma?

int[] numeros = {1, 2, 3, 4};
int suma = 0;
for (int num : numeros) {
    suma += num;
}
System.out.println(suma);

7 / 10

¿Por qué se produce error en este código?

int[] datos = {1, 2, 3};
for (int i : datos.length) {
    System.out.println(i);
}

8 / 10

¿Cuál es el efecto de este código?

double[] precios = {10.5, 20.0, 30.75};
for (double p : precios) {
    System.out.println(p * 2);
}

9 / 10

¿Qué tipo de datos no puede usarse directamente con for-each?

for (int n : objeto) {
    System.out.println(n);
}

10 / 10

¿Qué se imprimirá?

String[] colores = {"Rojo", "Verde", "Azul"};
for (String color : colores) {
    System.out.println(color);
}

Your score is

0%

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);
            }
        }
    }
}