Curso Java. Condicionales I. Vídeo 16
Estructuras de Control de Flujo en Java
Introducción a las Estructuras de Control
- Se presentan las estructuras fundamentales en programación: los condicionales y los bucles, esenciales para modificar el flujo de ejecución en cualquier lenguaje, incluido Java.
- El flujo de control se refiere al orden en que se ejecutan las instrucciones dentro del programa. En Java, la ejecución comienza siempre por el método
main.
Modificación del Flujo de Ejecución
- La ejecución del programa sigue una secuencia lineal, pero las estructuras de control permiten alterar este flujo mediante saltos o repeticiones.
- Los saltos permiten ignorar ciertas líneas y continuar con otras, mientras que las repeticiones permiten ejecutar varias veces un bloque de código.
Comparación con Lenguajes Antiguos
- Lenguajes más antiguos como BASIC utilizaban la instrucción
gotopara dar saltos en el código. Sin embargo, su uso es desaconsejado debido a la creación de "código spaghetti", que dificulta la lectura y mantenimiento del código.
- El "código spaghetti" resulta problemático porque complica la depuración y comprensión del flujo lógico del programa.
Estructuras Específicas en Java
- En Java, se utilizan dos estructuras principales para controlar el flujo: condicionales (como
if) y bucles (para repetir código).
- El condicional
ifpermite evaluar condiciones específicas; su sintaxis incluye una condición entre paréntesis seguida por un bloque de código a ejecutar si es verdadera.
Uso del Condicional Switch
- El condicional
switches útil para evaluar múltiples condiciones fijas. Su sintaxis incluye un valor a evaluar seguido por varios casos (case) con sus respectivos bloques de código.
- Tanto el
ifcomo elswitchpueden incluir estructuras adicionales opcionales comoelseodefault, aunque no son obligatorias.
Ejemplo Práctico
Introducción a la Programación: Evaluando la Edad
Creación de un Programa en Eclipse
- Se inicia el desarrollo de un programa que solicita al usuario introducir su edad y determina si es mayor o menor de edad.
- Se menciona el uso del condicional
if, que es común en casi todos los lenguajes de programación, aunque su sintaxis puede variar.
- Se debe importar el paquete
Java Utilpara utilizar la claseScanner, necesaria para leer entradas desde la consola.
Implementación del Método Main
- Se crea un objeto de tipo
Scannerllamadoentradapara capturar la entrada del usuario desde la consola.
- El programa imprime un mensaje solicitando al usuario que introduzca su edad, almacenándola en una variable entera llamada
edad.
Evaluación de la Edad Introducida
- Una vez obtenida la edad, se evalúa si es mayor o menor a 18 años utilizando el condicional
if.
- La condición se construye usando operadores de comparación como mayor o igual que (
>=) para determinar si el usuario es mayor de edad.
Estructura del Condicional If
- La sintaxis del condicional incluye abrir y cerrar llaves `` para delimitar el bloque de código que se ejecutará si la condición es verdadera.
- Si se cumple la condición (edad >= 18), se imprime "Eres mayor de edad" en consola; sin embargo, no hay instrucciones para cuando no se cumple.
Comprobaciones y Ejecución del Programa
- Al ejecutar el programa, este espera una entrada. Si se introduce una edad válida (ej. 23), ejecuta correctamente lo dentro del bloque
if.
- Si se introduce una edad inferior a 18 (ej. 15), el programa no realiza ninguna acción visible, lo cual indica que está incompleto.
Incorporación del Else
¿Cómo se utiliza la estructura If-Else en programación?
Introducción a la estructura If-Else
- La estructura
Ifse traduce como un "sí condicional", permitiendo evaluar si una condición es verdadera. Si la edad es mayor o igual a 18, el programa imprime que "es mayor de edad".
- El
Elsedebe seguir inmediatamente alIf, no puede existir unElsesin su correspondienteIf. Sin embargo, sí puede haber unIfsin unElse.
Construcción del Else
- El
Elsese construye justo después del bloque delIf, y también requiere llaves de apertura y cierre para definir su ámbito.
- Dentro del bloque del
Else, se puede utilizar una instrucción comoSystem.out.println("Eres menor de edad"), completando así el flujo lógico del programa.
Control de flujo en el programa
- La ejecución del programa cambia dependiendo de si la condición evaluada es verdadera o falsa. Si es verdadera, se ejecuta el bloque dentro del
If; si no, se salta al bloque delElse.
- Al llegar a la llave de cierre del
If, si la condición fue verdadera, el programa ignora el bloque del `Else y continúa con las siguientes instrucciones.
Ejecución práctica
- Al ejecutar el programa con diferentes edades (por ejemplo, 35 años), este indica que somos mayores de edad. Si ingresamos 12 años, entonces imprime que somos menores de edad.
- Este ejemplo ilustra cómo funciona una estructura básica If-Else en Java, mostrando cómo manejar condiciones simples.
Complejidad adicional en condiciones
- Se pueden complicar las estructuras condicionales utilizando múltiples condiciones. En lugar de solo evaluar si alguien es mayor o igual a 18, podemos clasificar edades en rangos específicos.
- Para evaluar múltiples condiciones, existen dos opciones: construir varios bloques If o usar una instrucción llamada "else if".
Ejemplo práctico con else if
Estructura de Condicionales en Programación
Introducción a la Estructura If-Else
- Se comienza copiando una línea de código y modificando el mensaje para que, en lugar de "eres un adolescente", se indique "eres joven". Esto se inserta dentro de un bloque
elseif.
- Se evalúa si la edad es menor que 65. Si esta condición es verdadera, se ejecuta el bloque correspondiente donde se indica "eres maduro".
Control del Flujo del Programa
- En caso de que ninguna de las condiciones anteriores sea cierta, se utiliza
elsepara manejar los casos restantes, imprimiendo "Cuídate".
- El flujo del programa sigue una secuencia lineal: primero evalúa el primer
if, y si es verdadero, ejecuta su contenido e ignora lo demás.
Evaluación de Condiciones
- Si la primera condición es falsa, el programa pasa a evaluar la siguiente. Este proceso continúa hasta encontrar una condición verdadera o llegar al bloque
else.
- La lógica puede resumirse como: verificar si la edad es menor que 18; si no, verificar si es menor que 40; luego menos de 65; y finalmente ejecutar el bloque
elsesi todas son falsas.
Ejecución del Programa
- Al probar el programa con una entrada de 15 años, imprime "eres un adolescente" porque cumple con la primera condición.
- Si se introduce 50 años, el programa ignora las dos primeras condiciones y ejecuta "eres maduro".
Comportamiento ante Diferentes Entradas
- Con una entrada de 90 años, ninguna condición previa se cumple y por lo tanto imprime "Cuídate", accediendo al bloque
else.