Estructura Repetitiva WHILE en Java

¿Qué es un bucle while?

Es una estructura de control que permite ejecutar un bloque de instrucciones de forma repetitiva mientras se cumpla una condición. Se utiliza cuando no sabemos de antemano cuántas veces se va a repetir el ciclo.

Ejemplos explicados

Ejemplo 1: Contador del 1 al 5

Este ejemplo muestra cómo usar while para imprimir los números del 1 al 5.

int i = 1;
while (i <= 5) {
    System.out.println("Contador: " + i);
    i++;
}

Ejemplo 2: Entrada hasta condición

El usuario ingresa números hasta ingresar el 0.

import java.util.Scanner;

public class EntradaConWhile {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int numero;
        System.out.print("Ingrese un número (0 para salir): ");
        numero = sc.nextInt();

        while (numero != 0) {
            System.out.print("Ingrese otro número: ");
            numero = sc.nextInt();
        }
        System.out.println("Fin del programa");
    }
}

Ejemplo 3: Suma y promedio

Este ejemplo permite ingresar 5 valores, calcular la suma y el promedio.

import java.util.Scanner;

public class SumaPromedio {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int suma = 0, i = 1, valor;
        double promedio;

        while (i <= 5) {
            System.out.print("Ingrese número " + i + ": ");
            valor = sc.nextInt();
            suma = suma + valor;
            i++;
        }

        promedio = suma / 5.0;
        System.out.println("Suma: " + suma);
        System.out.println("Promedio: " + promedio);
    }
}

Preguntas de múltiple opción

1. ¿Qué salida genera el siguiente código?

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

2. ¿Cuál es la condición de terminación de este bucle?

int i = 0;
while (i < 5) {
    i++;
}
a) i < 5
b) i > 5
c) i == 5

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

int j = 10;
while (j < 10) {
    System.out.println(j);
    j++;
}
a) 0
b) 1
c) 10

4. ¿Cuál es el error en este código?

int x = 1;
while (x <= 5) {
    System.out.println("Hola");
}
a) Bucle infinito
b) Error de compilación
c) No imprime nada

5. ¿Qué imprime este programa?

int i = 1;
while (i <= 5) {
    System.out.println(i * 2);
    i++;
}
a) 2 4 6 8 10
b) 1 2 3 4 5
c) 10 8 6 4 2

6. ¿Qué sucede si no se incrementa la variable de control dentro del while?

a) El bucle se repite infinitamente
b) El programa imprime error
c) El bucle se ejecuta una sola vez

7. ¿Qué valor tiene suma al final?

int suma = 0, i = 1;
while (i <= 3) {
    suma += i;
    i++;
}
a) 3
b) 6
c) 10

8. ¿Cuál es el resultado final?

int n = 5;
while (n > 0) {
    System.out.print(n + " ");
    n--;
}
a) 5 4 3 2 1
b) 1 2 3 4 5
c) 0 1 2 3 4 5

9. ¿Qué hace este código?

int x = 3;
while (x < 6) {
    System.out.print(x);
    x++;
}
a) Imprime 345
b) Imprime 456
c) Imprime 123

10. ¿Cuál es el valor de n al finalizar?

int n = 0;
while (n < 3) {
    n++;
}
a) 3
b) 2
c) 1

Ejercicios

  1. Realizar un programa que imprima en pantalla los números del 1 al 100.
  2. Solicitar la carga de un valor positivo e imprimir del 1 hasta dicho valor.
  3. Cargar 10 valores y mostrar la suma y promedio.
  4. Cargar 10 notas e informar cuántos alumnos tienen notas >= 8.
  5. Ingresar n alturas y mostrar la altura promedio.
  6. Leer n sueldos e informar cuántos cobran entre 100-300 y cuántos más de 300. Mostrar el total gastado.
  7. Imprimir 25 términos de la serie: 11, 22, 33...
  8. Mostrar los múltiplos de 8 hasta el 500.
  9. Cargar dos listas de 15 valores cada una e informar cuál tiene mayor suma.
  10. Cargar n números e informar cuántos son pares y cuántos impares.