Estructura Repetitiva FOR en Java

¿Qué es un bucle for?

El bucle for es una estructura repetitiva que permite ejecutar un bloque de instrucciones un número determinado de veces. Es ideal cuando conocemos de antemano cuántas veces deseamos repetir una acción.

Sintaxis del for

for (inicialización; condición; incremento) {
    // instrucciones a repetir
}

Ejemplos explicados

Los siguientes ejemplos están tomados del material de clase.

Ejemplo 1: Imprimir números del 1 al 10

Este programa imprime en pantalla los números del 1 al 10 utilizando un bucle for.

public class Ejercicio1 {
    public static void main(String[] args) {
        for(int x=1;x<=10;x++)
            System.out.println("Numero"+ x);
    }
}

Ejemplo 2: Mostrar números separados por guiones

Este programa imprime los números del 1 al 10 en una misma línea, separados por guiones.

public class Ejercicio2 {
    public static void main(String[] args) {
        for(int x=1;x<=10;x++){
            System.out.print(x);
            if(x!=10)
                System.out.print(" - ");
        }
    }
}

Ejemplo 3: Sumar valores ingresados

Este programa permite ingresar 3 números desde teclado y muestra la suma total.

import java.util.Scanner;

public class Ejercicio3 {
    public static void main(String[] args) {
        int num,total=0;
        Scanner dato =new Scanner (System.in);
        for(int x=0;x<3;x++){
            System.out.print("Ingrese un numero: ");
            num=dato.nextInt();
            total=total+num;
        }
        System.out.println("La suma es "+ total);
    }
}

Ejemplo 4: Geringoso palabra

Este programa toma una palabra e imprime su forma "geringosa", insertando 'p' y la vocal después de cada vocal. Se utiliza el método length() para conocer la cantidad de letras de la palabra y charAt() para acceder a cada una por su posición. Recordá que length() devuelve un número entero y que charAt() devuelve un caracter.

import java.util.Scanner;

public class GeringosoPalabra {
    public static void main(String[] args) {
        Scanner dato = new Scanner(System.in);
        String palabra;
        int largo;
        char letra;
        System.out.println("Ingrese palabra ");
        palabra = dato.next();
        largo = palabra.length();
        for (int x = 0; x < largo; x++) {
            letra = palabra.charAt(x);
            if (letra == 'a' || letra == 'e' || letra == 'i' ||
                letra == 'o' || letra == 'u')
                System.out.print(letra + "p" + letra);
            else
                System.out.print(letra);
        }
    }
}

Ejemplo 5: Tabla ASCII

Este programa imprime todos los caracteres correspondientes al código ASCII del 0 al 255. char(i) obtiene el caracter que correspone al valor que tenga la variable i

public class TablaAscii {
    public static void main(String[] args) {
        for (int i=0;i<256;i++){
            System.out.println("ALT"+i +" = "+(char)i);
        }
    }
}

Preguntas de múltiple opción

1. ¿Cuál es la sintaxis correcta de un bucle for en Java?

a) for (int i=0; i<10; i++)
b) for i=0 to 10
c) loop (i=0; i<10; i++)

2. ¿Qué imprimirá este código?

for (int i=1; i<=3; i++) {
    System.out.print(i + " ");
}
a) 0 1 2
b) 1 2 3
c) 1 2 3 4

3. ¿Cuántas veces se ejecuta el siguiente ciclo?

for (int i=0; i<5; i++) {
    System.out.println(i);
}
a) 5
b) 4
c) 6

4. ¿Cuál es el valor de suma al finalizar este código?

int suma = 0;
for (int i=1; i<=3; i++) {
    suma += i;
}
a) 6
b) 3
c) 5

5. ¿Qué hace este código?

for (int i=10; i>=1; i--) {
    System.out.print(i + " ");
}
a) Imprime del 10 al 1
b) Imprime del 1 al 10
c) No imprime nada

6. ¿Qué sucede si no se incrementa el valor del índice dentro de un bucle for?

a) Puede entrar en bucle infinito
b) Da error de compilación
c) El programa se detiene

7. ¿Qué imprime este programa?

for (int i=2; i<=10; i+=2) {
    System.out.print(i + " ");
}
a) 2 4 6 8 10
b) 1 3 5 7 9
c) 2 3 4 5 6

8. ¿Qué instrucción usamos para repetir un bloque conocido de veces?

a) for
b) if
c) switch

9. ¿Qué significa i++ dentro del for?

a) Incrementa el valor de i en 1
b) Decrementa i
c) Detiene el bucle

10. ¿Cuál es la salida esperada?

for (int i=0; i<3; i++) {
    System.out.println("Hola");
}
a) Hola (3 veces)
b) Hola (2 veces)
c) Hola (1 vez)

Ejercicios

  1. Imprimir los números del 1 al 100.
  2. Cargar 10 valores por teclado y mostrar su suma y promedio.
  3. Leer 10 notas e informar cuántos tienen nota mayor o igual a 7 y cuántos menor.
  4. Leer 10 números e informar cuántos son múltiplos de 3, cuántos de 5 y cuántos de ambos.
  5. Leer n números enteros y contar cuántos son mayores o iguales a 1000.
  6. Leer n bases y alturas de triángulos, mostrar superficie y contar cuántos tienen superficie > 12.
  7. Cargar 10 números e imprimir la suma de los últimos 5.
  8. Mostrar la tabla del 5 (del 5 al 50).
  9. Ingresar un valor del 1 al 10 y mostrar su tabla de multiplicar hasta 12 términos.
  10. Leer los lados de n triángulos e informar su tipo, contar tipos y el que menos aparece.
  11. Leer coordenadas (x,y) e informar cuántos puntos hay en cada cuadrante.
  12. Cargar 10 números e informar:
  13. Cargar edades de estudiantes: (Recomendación Ver tema RANDOM)