En este módulo, aprenderemos sobre las estructuras de control en Groovy, que son fundamentales para dirigir el flujo de ejecución de un programa. Las estructuras de control incluyen condicionales, bucles y estructuras de control de excepciones.
- Condicionales
1.1. if
, else if
, else
La estructura if
se utiliza para ejecutar un bloque de código solo si una condición es verdadera. Puedes encadenar múltiples condiciones usando else if
y proporcionar un bloque de código alternativo con else
.
Sintaxis:
if (condición) { // Bloque de código si la condición es verdadera } else if (otraCondición) { // Bloque de código si la otra condición es verdadera } else { // Bloque de código si ninguna condición es verdadera }
Ejemplo:
def numero = 10 if (numero > 0) { println "El número es positivo" } else if (numero < 0) { println "El número es negativo" } else { println "El número es cero" }
1.2. switch
La estructura switch
es una alternativa a múltiples if-else
y se utiliza para ejecutar diferentes bloques de código basados en el valor de una expresión.
Sintaxis:
switch (expresión) { case valor1: // Bloque de código para valor1 break case valor2: // Bloque de código para valor2 break default: // Bloque de código si ningún caso coincide }
Ejemplo:
def dia = "Lunes" switch (dia) { case "Lunes": println "Inicio de la semana" break case "Viernes": println "Fin de la semana laboral" break default: println "Día de la semana" }
- Bucles
2.1. for
El bucle for
se utiliza para iterar sobre una secuencia de elementos, como una lista o un rango.
Sintaxis:
Ejemplo:
2.2. while
El bucle while
ejecuta un bloque de código mientras una condición sea verdadera.
Sintaxis:
Ejemplo:
2.3. do-while
El bucle do-while
es similar al while
, pero garantiza que el bloque de código se ejecute al menos una vez.
Sintaxis:
Ejemplo:
- Estructuras de Control de Excepciones
3.1. try
, catch
, finally
Estas estructuras se utilizan para manejar excepciones y errores en el código.
Sintaxis:
try { // Bloque de código que puede lanzar una excepción } catch (TipoDeExcepción e) { // Bloque de código para manejar la excepción } finally { // Bloque de código que se ejecuta siempre, haya o no excepción }
Ejemplo:
try { def resultado = 10 / 0 } catch (ArithmeticException e) { println "Error: División por cero" } finally { println "Este bloque se ejecuta siempre" }
Ejercicios Prácticos
Ejercicio 1: Condicionales
Escribe un script que determine si un número es par o impar.
Solución:
def numero = 7 if (numero % 2 == 0) { println "El número es par" } else { println "El número es impar" }
Ejercicio 2: Bucles
Escribe un script que imprima los números del 1 al 10 usando un bucle for
.
Solución:
Ejercicio 3: Manejo de Excepciones
Escribe un script que intente convertir una cadena a un número y maneje cualquier excepción que ocurra.
Solución:
def cadena = "123a" try { def numero = cadena.toInteger() println "El número es $numero" } catch (NumberFormatException e) { println "Error: No se puede convertir la cadena a un número" }
Conclusión
En esta sección, hemos cubierto las estructuras de control en Groovy, incluyendo condicionales, bucles y manejo de excepciones. Estas estructuras son esenciales para controlar el flujo de ejecución de tus programas y manejar situaciones excepcionales de manera efectiva. Asegúrate de practicar los ejercicios para reforzar tu comprensión y estar preparado para el siguiente módulo.
Curso de Programación Groovy
Módulo 1: Introducción a Groovy
Módulo 2: Sintaxis de Groovy y Características del Lenguaje
Módulo 3: Programación Orientada a Objetos en Groovy
Módulo 4: Características Avanzadas de Groovy
Módulo 5: Groovy en la Práctica
- Entrada/Salida de Archivos
- Trabajando con XML y JSON
- Acceso a Bases de Datos
- Desarrollo Web con Groovy
Módulo 6: Pruebas y Depuración
Módulo 7: Ecosistema y Herramientas de Groovy
- Herramienta de Construcción Gradle
- Framework de Pruebas Spock
- Framework Grails
- Otras Bibliotecas y Herramientas de Groovy
Módulo 8: Mejores Prácticas y Temas Avanzados
- Estilo de Código y Convenciones
- Optimización del Rendimiento
- Consideraciones de Seguridad
- Concurrencia en Groovy