En este tema, aprenderemos sobre las sentencias condicionales en Scala, que nos permiten ejecutar diferentes bloques de código basados en ciertas condiciones. Las sentencias condicionales son fundamentales para controlar el flujo de ejecución de un programa.
Conceptos Clave
- Sentencia
if
: Ejecuta un bloque de código si una condición es verdadera. - Sentencia
if-else
: Ejecuta un bloque de código si una condición es verdadera, y otro bloque si es falsa. - Sentencia
if-else if-else
: Permite evaluar múltiples condiciones en secuencia. - Expresiones condicionales: En Scala, las sentencias
if
pueden devolver valores, lo que permite usarlas como expresiones.
Sentencia if
La sentencia if
se utiliza para ejecutar un bloque de código solo si una condición es verdadera.
En este ejemplo, el mensaje "x es mayor que 5" se imprimirá porque la condición x > 5
es verdadera.
Sentencia if-else
La sentencia if-else
permite ejecutar un bloque de código si la condición es verdadera y otro bloque si es falsa.
En este caso, el mensaje "x no es mayor que 5" se imprimirá porque la condición x > 5
es falsa.
Sentencia if-else if-else
La sentencia if-else if-else
permite evaluar múltiples condiciones en secuencia.
val x = 7 if (x > 10) { println("x es mayor que 10") } else if (x > 5) { println("x es mayor que 5 pero menor o igual a 10") } else { println("x es menor o igual a 5") }
En este ejemplo, el mensaje "x es mayor que 5 pero menor o igual a 10" se imprimirá porque la condición x > 5
es verdadera y x > 10
es falsa.
Expresiones Condicionales
En Scala, las sentencias if
pueden devolver valores, lo que permite usarlas como expresiones.
Aquí, la variable result
tomará el valor "Mayor que 5" porque la condición x > 5
es verdadera.
Ejercicios Prácticos
Ejercicio 1
Escribe un programa que verifique si un número es positivo, negativo o cero, e imprima un mensaje correspondiente.
Solución Ejercicio 1
val number = -3 if (number > 0) { println("El número es positivo") } else if (number < 0) { println("El número es negativo") } else { println("El número es cero") }
Ejercicio 2
Escribe un programa que determine si un año es bisiesto. Un año es bisiesto si es divisible por 4, pero no por 100, a menos que también sea divisible por 400.
Solución Ejercicio 2
val year = 2020 val isLeapYear = if (year % 400 == 0) { true } else if (year % 100 == 0) { false } else if (year % 4 == 0) { true } else { false } if (isLeapYear) { println(s"$year es un año bisiesto") } else { println(s"$year no es un año bisiesto") }
Resumen
En esta sección, hemos aprendido sobre las sentencias condicionales en Scala, incluyendo if
, if-else
, if-else if-else
y cómo usarlas como expresiones. Estas estructuras son esenciales para controlar el flujo de ejecución de nuestros programas y tomar decisiones basadas en condiciones. En la próxima sección, exploraremos los bucles e iteraciones en Scala.
Curso de Programación en Scala
Módulo 1: Introducción a Scala
- Introducción a Scala
- Configuración del Entorno de Desarrollo
- Conceptos Básicos de Scala: Sintaxis y Estructura
- Variables y Tipos de Datos
- Operaciones Básicas y Expresiones
Módulo 2: Estructuras de Control y Funciones
- Sentencias Condicionales
- Bucles e Iteraciones
- Funciones y Métodos
- Funciones de Orden Superior
- Funciones Anónimas
Módulo 3: Colecciones y Estructuras de Datos
- Introducción a las Colecciones
- Listas y Arreglos
- Conjuntos y Mapas
- Tuplas y Opciones
- Coincidencia de Patrones
Módulo 4: Programación Orientada a Objetos en Scala
- Clases y Objetos
- Herencia y Rasgos
- Clases Abstractas y Clases Caso
- Objetos Compañeros
- Objetos Singleton
Módulo 5: Programación Funcional en Scala
- Inmutabilidad y Funciones Puras
- Estructuras de Datos Funcionales
- Mónadas y Funtores
- Comprensiones For
- Manejo de Errores en Programación Funcional
Módulo 6: Conceptos Avanzados de Scala
- Conversiones y Parámetros Implícitos
- Clases de Tipo y Polimorfismo
- Macros y Reflexión
- Concurrencia en Scala
- Introducción a Akka