Programación 1º – UD4 – Estructura while

Programación 1º – UD4 – Estructura while

¿Qué es la estructura while en programación?

El bucle while es una estructura de repetición que se usa para repetir un bloque de código mientras se cumpla una condición.

Características principales:

  • Evalúa la condición primero. Si es verdadera, entra en el bucle.
  • Si la condición es falsa desde el principio, no se ejecuta nada del interior del bucle.
  • Es útil cuando no sabemos cuántas veces hay que repetir el código, pero sí sabemos la condición para seguir.

Sintaxis básica:

while (condición) {
// código que se repite
}

Ejemplo:

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

¿Qué hace este código?

  • Empieza con i = 1.
  • Mientras i <= 5, imprime el valor de i y luego lo incrementa.
  • Termina cuando i vale 6.

Salida:

1
2
3
4
5

¡Importante!

Dentro del bucle debe haber algo que cambie la condición. Si no, el bucle nunca se detendrá (bucle infinito).

Por ejemplo:

while (true) {
System.out.println("¡Nunca termina!");
}

☠️ Esto imprime sin parar y puede bloquear el programa.

PROGRAMACIÓN

Preguntas de Programación de DAM

Actividades de Programación UD4 - 4.3. Estructura while

Preguntas de Programación de 1ºDAM de la Unidad 4: Estructura de repetición while.

1 / 10

¿Qué valor tiene i al salir del bucle?

int i = 2;
while (i < 6) {
    i++;
}
System.out.println(i);

2 / 10

¿Cuántas veces se ejecuta el bucle?

int x = 5;
while (x < 5) {
    System.out.println("Hola");
    x++;
}

3 / 10

¿Cuál es la salida?

int i = 0;
while (i < 3) {
    System.out.print("*");
    i++;
}

4 / 10

¿Qué hace este bucle?

int x = 0;
while (x < 4) {
    x += 2;
}
System.out.println(x);

5 / 10

¿Cuántas veces imprime "Java"?

int count = 10;
while (count > 7) {
    System.out.println("Java");
    count--;
}

6 / 10

¿Qué imprime este código?

int i = 1;
while (i <= 3) {
    System.out.println(i);
    i++;
}

7 / 10

¿Qué pasa aquí?

int i = 0;
while (i < 10)
    i++;
System.out.println("Fin");

8 / 10

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

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

9 / 10

¿Qué imprime este código?

int n = 1;
while (n <= 5) {
    System.out.print(n + " ");
    n++;
}

10 / 10

¿Cuándo termina este bucle?

int i = 100;
while (i != 0) {
    i -= 20;
}

Your score is

0%

Actividades de programación

Actividad 1: Contar hasta 10

Mostrar los números del 1 al 10 usando while.

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

Actividad 2: Sumar números hasta que se ingrese 0

Pedir al usuario números y sumarlos hasta que escriba 0. Usa Scanner y una variable acumuladora.

import java.util.Scanner;

public class WhileSumarNumeros {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int numero, suma = 0;

        System.out.println(“Introduce números (0 para terminar): “);
        numero = scanner.nextInt();

        while (numero != 0) {
            suma += numero;
            numero = scanner.nextInt();
        }

        System.out.println(“La suma total es: ” + suma);
    }
}

Actividad 3: Validar contraseña

Pedir al usuario que introduzca una contraseña. Si no es correcta, volver a pedirla. Usa equals() y compara con una contraseña guardada como "java123".

import java.util.Scanner;

public class WhileValidarContrasena {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String contrasenaCorrecta = “java123”;
        String entrada;

        System.out.println(“Introduce la contraseña:”);
        entrada = scanner.nextLine();

        while (!entrada.equals(contrasenaCorrecta)) {
            System.out.println(“Incorrecta. Intenta de nuevo:”);
            entrada = scanner.nextLine();
        }

        System.out.println(“¡Acceso concedido!”);
    }
}

Actividad 4: Adivina el número

Generar un número aleatorio del 1 al 100 y pedir al usuario que lo adivine. Dar pistas de “mayor” o “menor”. Usa Math.random() y while para repetir hasta que acierte.

import java.util.Scanner;

public class WhileAdivinaNumero {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int numeroSecreto = (int)(Math.random() * 100) + 1;
        int intento;

        System.out.println(“Adivina el número entre 1 y 100:”);

        intento = scanner.nextInt();
        while (intento != numeroSecreto) {
            if (intento < numeroSecreto) {
                System.out.println(“Más alto!”);
            } else {
                System.out.println(“Más bajo!”);
            }
            intento = scanner.nextInt();
        }

        System.out.println(“¡Correcto! El número era ” + numeroSecreto);
    }
}

Actividad 5: Contar letras hasta que se escriba una vocal

Leer letras por teclado hasta que el usuario escriba una vocal (a, e, i, o, u). Usa char o String, y verifica con equalsIgnoreCase() o comparaciones.

import java.util.Scanner;

public class WhilwHastaVocal {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String letra;

        System.out.println(“Escribe letras. Termina cuando introduzcas una vocal:”);

        letra = scanner.nextLine();

        while (!esVocal(letra)) {
            letra = scanner.nextLine();
        }

        System.out.println(“¡Has escrito una vocal!”);
    }

    public static boolean esVocal(String letra) {
        return letra.equalsIgnoreCase(“a”) || letra.equalsIgnoreCase(“e”) ||
               letra.equalsIgnoreCase(“i”) || letra.equalsIgnoreCase(“o”) ||
               letra.equalsIgnoreCase(“u”);
    }
}