Como en muchas otras aplicaciones y lenguajes de programación, Scala también cuenta con sentencias condicionales if-else para la toma de decisiones. El bloque condicional if se ejecuta si la condición es verdadera; en caso contrario, se ejecuta el bloque condicional else (solo si hay una sentencia else).
Generalmente, la sentencia else no tiene condición; se ejecuta únicamente cuando la condición del if es falsa. En resumen, las sentencias if-else trabajan con expresiones booleanas basadas en True-False.
Existen varios tipos de sentencias if-else:
- Sentencia if,
- Sentencia if-else,
- Sentencia if-else anidada,
- Sentencia if-else-if-else.
Antes de empezar con los distintos tipos de if-else, vamos a configurar rápidamente el entorno de Scala en macOS siguiendo estos pasos.
Nota: asegúrate de tener Java instalado; si no es así, sigue las instrucciones que encontrarás aquí.
Cuando termines, prueba rápidamente la instalación escribiendo scala en la terminal; deberías ver una salida como la siguiente.
Nota: en este tutorial escribirás el código en el editor vim y lo ejecutarás desde la terminal.
Sentencia if en Scala
La sentencia if contiene una expresión de tipo boolean (verdadero o falso). Si la expresión es verdadera, se ejecuta el bloque de código dentro del if; si es falsa, se ejecuta la primera línea de código tras el final de la sentencia if.
if(boolean expression){
ejecuta si la expresión booleana es verdadera
}Con la tecnología de
Primero definirás un object o una class llamada scala_if. Dentro de ese objeto establecerás tu función main y escribirás el cuerpo principal del código. Crearás una variable entera x con valor 20. Por último, viene la clave del código: el bloque if con la condición x<=20; como x vale 20, se ejecutará el bloque dentro del if.
Guardemos el siguiente código con el nombre if.scala.
Para ejecutar el código anterior, solo tienes que escribir scala if.scala y verás una salida como la siguiente.
Sentencia if-else en Scala
Al igual que la sentencia if, la sentencia if-else contiene una expresión de tipo boolean (verdadero o falso). Si el if se cumple, se ejecuta su bloque de código; si es falso, se ejecuta el bloque de código del else.
if(boolean expression){
ejecuta si la expresión booleana es verdadera
}else{
ejecuta este bloque si la expresión booleana(del if) es falsa
}Con la tecnología de
El siguiente código ejecutará la sentencia else porque la variable x tiene un valor mayor que 20; por tanto, se ejecutará el bloque de código dentro del else.
Guardemos el siguiente código con el nombre if-else.scala.
Para ejecutar el código anterior, escribe scala if-else.scala y verás una salida como la siguiente.
Sentencia if-else anidada en Scala
Igual que sueles tener una sentencia if seguida de un else, la sentencia if-else anidada funciona de forma similar. En una anidación puedes usar un if o else-if dentro de otro if o else-if.
En la siguiente sección veremos las sentencias else-if.
if(boolean expression 1){
ejecuta el bloque 1 si la expresión booleana 1 es verdadera
if(boolean expression 2){
ejecuta el bloque 2 si las expresiones booleanas 1 y 2 son verdaderas
}}Con la tecnología de
El siguiente código usa sentencias nested-if para comparar cuatro variables enteras, $v$, $x$, $y$ y $z$, y, si todas las condiciones se cumplen, muestra el resultado en la terminal.
Guardemos el siguiente código con el nombre nested-if-else.scala.
Sentencia else-if en Scala
La sentencia else-if es muy potente en comparación con if-else. A diferencia de if-else, donde un else va seguido de un if, else-if es una única sentencia que te permite probar varias condiciones.
Sin embargo, hay algunas reglas a tener en cuenta al usar else-if:
Un else-if solo debe aparecer después de un if; un if puede tener cero o más else-if.
De forma similar, un else solo debe ir después de sentencias if y else-if; un if puede tener cero o un else.
Una vez que un else-if se cumple, el resto de else-if o else se omiten directamente.
if(boolean expression 1){
ejecuta el bloque 1 si la expresión booleana 1 es verdadera
}else-if(boolean expression 2){
ejecuta el bloque 2 si la expresión booleana 2 es verdadera
}else{
ejecuta este bloque si todas las condiciones anteriores son falsas
}Con la tecnología de
Conclusión
¡Enhorabuena por completar el tutorial!
Este tutorial es un buen punto de partida si quieres aprender a usar las sentencias condicionales IF ELSE en Scala.
Un pequeño ejercicio para ti: escribe un fragmento de código con la sentencia else-if en Scala y comprueba en la práctica en qué se diferencia de las otras variantes.
Como en muchas otras aplicaciones y lenguajes de programación, Scala también cuenta con sentencias condicionales
if-elsepara la toma de decisiones. El bloque condicionalifse ejecuta si la condición es verdadera; en caso contrario, se ejecuta el bloque condicionalelse(solo si hay una sentenciaelse).Generalmente, la sentencia
elseno tiene condición; se ejecuta únicamente cuando la condición delifes falsa. En resumen, las sentenciasif-elsetrabajan con expresiones booleanas basadas enTrue-False.Existen varios tipos de sentencias
if-else:- Sentencia if,
- Sentencia if-else,
- Sentencia if-else anidada,
- Sentencia if-else-if-else.
Antes de empezar con los distintos tipos de
if-else, vamos a configurar rápidamente el entorno de Scala en macOS siguiendo estos pasos.Nota: asegúrate de tener Java instalado; si no es así, sigue las instrucciones que encontrarás aquí.
- \$ brew update
- \$ brew install scala
- \$ brew install sbt
- \$ echo '-J-XX:+CMSClassUnloadingEnabled' >>
/usr/local/etc/sbtopts
- \$ echo '-J-Xmx2G' >> /usr/local/etc/sbtopts
Cuando termines, prueba rápidamente la instalación escribiendo
scalaen la terminal; deberías ver una salida como la siguiente.Nota: en este tutorial escribirás el código en el editor
vimy lo ejecutarás desde la terminal.Sentencia if en Scala
La sentencia
ifcontiene una expresión de tipoboolean(verdadero o falso). Si la expresión es verdadera, se ejecuta el bloque de código dentro delif; si es falsa, se ejecuta la primera línea de código tras el final de la sentenciaif.Primero definirás un
objecto unaclassllamadascala_if. Dentro de ese objeto establecerás tu funciónmainy escribirás el cuerpo principal del código. Crearás una variable enteraxcon valor 20. Por último, viene la clave del código: el bloqueifcon la condiciónx<=20; comoxvale 20, se ejecutará el bloque dentro delif.Guardemos el siguiente código con el nombre
if.scala.Para ejecutar el código anterior, solo tienes que escribir
scala if.scalay verás una salida como la siguiente.Sentencia if-else en Scala
Al igual que la sentencia
if, la sentenciaif-elsecontiene una expresión de tipoboolean(verdadero o falso). Si elifse cumple, se ejecuta su bloque de código; si es falso, se ejecuta el bloque de código delelse.El siguiente código ejecutará la sentencia
elseporque la variablextiene un valor mayor que 20; por tanto, se ejecutará el bloque de código dentro delelse.Guardemos el siguiente código con el nombre
if-else.scala.Para ejecutar el código anterior, escribe
scala if-else.scalay verás una salida como la siguiente.Sentencia if-else anidada en Scala
Igual que sueles tener una sentencia
ifseguida de unelse, la sentenciaif-elseanidada funciona de forma similar. En una anidación puedes usar unifoelse-ifdentro de otroifoelse-if.En la siguiente sección veremos las sentencias
else-if.El siguiente código usa sentencias
nested-ifpara comparar cuatro variables enteras, $v$, $x$, $y$ y $z$, y, si todas las condiciones se cumplen, muestra el resultado en la terminal.Guardemos el siguiente código con el nombre
nested-if-else.scala.Sentencia else-if en Scala
La sentencia
else-ifes muy potente en comparación conif-else. A diferencia deif-else, donde unelseva seguido de unif,else-ifes una única sentencia que te permite probar varias condiciones.Sin embargo, hay algunas reglas a tener en cuenta al usar
else-if:Un
else-ifsolo debe aparecer después de unif; unifpuede tener cero o máselse-if.De forma similar, un
elsesolo debe ir después de sentenciasifyelse-if; unifpuede tener cero o unelse.Una vez que un
else-ifse cumple, el resto deelse-ifoelsese omiten directamente.Conclusión
¡Enhorabuena por completar el tutorial!
Este tutorial es un buen punto de partida si quieres aprender a usar las sentencias condicionales IF ELSE en Scala.
Un pequeño ejercicio para ti: escribe un fragmento de código con la sentencia
else-ifen Scala y comprueba en la práctica en qué se diferencia de las otras variantes.Referencias:
No dudes en dejar tus preguntas sobre este tutorial en la sección de comentarios.