Inicio
Blog

Ejercicios Resueltos en Java Bucles for – while – do while

Ejercicios Resueltos en Java Bucles for – while – do while: Ejercicios Prácticos para Principiantes

Los bucles en Java son fundamentales para repetir bloques de código de manera eficiente, una habilidad esencial en programación.

Este artículo presenta una serie de ejercicios resueltos diseñados para que los principiantes comprendan cómo funcionan los bucles for, while y do-while en Java. Cada ejercicio incluye explicaciones paso a paso para guiarte a través de los conceptos básicos y cómo aplicarlos en problemas prácticos.

Ejercicios de Programación

1. Imprimir Números del 1 al 10

Objetivo: Iniciar con el bucle for, usado cuando el número de iteraciones es conocido.

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

Explicación: El bucle for tiene tres partes: inicialización (i = 1), condición (i <= 10), e incremento (i++). Aquí, imprimimos cada valor de i mientras cumple la condición.


2. Imprimir Números Pares del 1 al 20

Objetivo: Usar condicionales en un bucle para filtrar datos, en este caso, los números pares.

public class Ejercicio2 {
    public static void main(String[] args) {
        for (int i = 1; i <= 20; i++) {
            if (i % 2 == 0) {
                System.out.println(i);
            }
        }
    }
}

Explicación: Con if (i % 2 == 0), el código identifica números pares, imprimiendo solo aquellos que cumplen la condición. Este enfoque ayuda a entender cómo usar condicionales dentro de un bucle.


3. Calcular la Suma de los Números del 1 al 100

Objetivo: Practicar la acumulación de valores en un bucle.

public class Ejercicio3 {
    public static void main(String[] args) {
        int suma = 0;
        for (int i = 1; i <= 100; i++) {
            suma += i;
        }
        System.out.println("La suma es: " + suma);
    }
}

Explicación: Inicializamos suma en 0 y en cada iteración le sumamos el valor de i. Al finalizar, suma contiene el total de todos los números de 1 a 100.


4. Tabla de Multiplicar de un Número

Objetivo: Utilizar un bucle para mostrar una tabla de multiplicar solicitada por el usuario.

import java.util.Scanner;

public class Ejercicio4 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Introduce un número: ");
        int numero = scanner.nextInt();
        
        for (int i = 1; i <= 10; i++) {
            System.out.println(numero + " x " + i + " = " + (numero * i));
        }
        scanner.close();
    }
}

Explicación: El bucle for se ejecuta de 1 a 10 para imprimir la tabla de multiplicar. El usuario introduce un número y el programa calcula los productos en cada iteración.


5. Calcular el Factorial de un Número

Objetivo: Introducir el concepto de multiplicación acumulativa en un bucle.

import java.util.Scanner;

public class Ejercicio5 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Introduce un número: ");
        int numero = scanner.nextInt();
        int factorial = 1;
        
        for (int i = 1; i <= numero; i++) {
            factorial *= i;
        }
        
        System.out.println("El factorial de " + numero + " es " + factorial);
        scanner.close();
    }
}

Explicación: factorial acumula el producto de cada número desde 1 hasta el número ingresado, calculando el factorial.


6. Contar los Dígitos de un Número

Objetivo: Practicar el uso de bucles while y la división de enteros.

import java.util.Scanner;

public class Ejercicio6 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Introduce un número: ");
        int numero = scanner.nextInt();
        int contador = 0;
        
        while (numero != 0) {
            numero /= 10;
            contador++;
        }
        
        System.out.println("El número tiene " + contador + " dígitos.");
        scanner.close();
    }
}

Explicación: Dividimos numero entre 10 para eliminar el último dígito en cada iteración, incrementando contador hasta que numero sea 0.


7. Sumar los Dígitos de un Número

Objetivo: Aprender a extraer y acumular dígitos.

import java.util.Scanner;

public class Ejercicio7 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Introduce un número: ");
        int numero = scanner.nextInt();
        int suma = 0;
        
        while (numero != 0) {
            suma += numero % 10;
            numero /= 10;
        }
        
        System.out.println("La suma de los dígitos es " + suma);
        scanner.close();
    }
}

Explicación: Usamos numero % 10 para obtener el último dígito de numero, que añadimos a suma en cada iteración.


8. Comprobar si un Número es Primo

Objetivo: Utilizar un bucle para verificar divisibilidad.

import java.util.Scanner;

public class Ejercicio8 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Introduce un número: ");
        int numero = scanner.nextInt();
        boolean esPrimo = true;
        
        for (int i = 2; i <= numero / 2; i++) {
            if (numero % i == 0) {
                esPrimo = false;
                break;
            }
        }
        
        if (esPrimo && numero > 1) {
            System.out.println(numero + " es primo.");
        } else {
            System.out.println(numero + " no es primo.");
        }
        scanner.close();
    }
}

Explicación: Un número es primo si solo es divisible por 1 y por sí mismo. El bucle verifica divisibilidad desde 2 hasta numero / 2.


9. Imprimir Serie de Fibonacci hasta un Límite

Objetivo: Crear la serie de Fibonacci usando bucles.

import java.util.Scanner;

public class Ejercicio9 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Introduce el límite de la serie: ");
        int limite = scanner.nextInt();
        int a = 0, b = 1;
        
        while (a <= limite) {
            System.out.print(a + " ");
            int temp = a;
            a = b;
            b = temp + b;
        }
        scanner.close();
    }
}

Explicación: El bucle imprime la serie de Fibonacci hasta que el valor actual (a) supera el límite.


10. Invertir un Número

Objetivo: Practicar el uso de bucles y operaciones de módulo.

import java.util.Scanner;

public class Ejercicio10 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Introduce un número: ");
        int numero = scanner.nextInt();
        int invertido = 0;
        
        while (numero != 0) {
            int digito = numero % 10;
            invertido = invertido * 10 + digito;
            numero /= 10;
        }
        
        System.out.println("El número invertido es " + invertido);
        scanner.close();
    }
}

Explicación: Extraemos cada dígito de numero usando numero % 10 y lo añadimos a invertido, multiplicándolo por 10 en cada paso.


¡Has avanzado mucho! Dominar los bucles es clave en la programación, ya que te permite simplificar tareas repetitivas y manejar datos de forma eficiente. Sigue practicando y explorando. Para más información, consulta recursos confiables como W3Schools


Preguntas Frecuentes

¿Cuándo debería usar for en lugar de while?

Utiliza for cuando conoces de antemano el número de iteraciones. El bucle while es ideal cuando necesitas repetir el código hasta que se cumpla o deje de cumplirse una condición.

¿Qué hace break dentro de un bucle?

El comando break termina la ejecución de un bucle antes de que complete todas sus iteraciones. Es útil cuando encuentras una condición en la que no es necesario continuar.

¿Cómo puedo evitar un bucle infinito?

Un bucle infinito ocurre cuando la condición del bucle nunca se vuelve falsa. Asegúrate de que la condición se modifique en cada iteración, o el bucle podría ejecutarse indefinidamente.


Conclusión

Este artículo cubre los fundamentos y aplicaciones de los bucles en Java. Practicar estos ejercicios te ayudará a mejorar tu comprensión de las estructuras iterativas y a resolver problemas repetitivos de manera eficiente. ¡Sigue adelante en tu camino hacia el dominio de la programación!

Encuentra mas ejercicios en Java en el siguiente boton

Alejandro Nes MC
Alejandro Nes MC

Hola, soy Alejandro Nes, desarrollador web full-stack con una sólida formación en informática, marketing digital y un diplomado en educación superior. Con experiencia y conocimientos avanzados en tecnologías como HTML, CSS, JavaScript, React.js, Redux, Node.js, Express.js y MongoDB, me especializo en crear soluciones eficientes y personalizadas que potencien tus proyectos. Mi enfoque combina creatividad y estrategia, asegurando un desarrollo de software de alta calidad que impulsa resultados y experiencias digitales impactantes.

Artículos: 125