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