Curso
Nota: Este tutorial es la continuación de la serie de tutoriales de Scala. Si aún no has leído Beginners Guide to Scala y IF ELSE in Scala, échales un vistazo.
Introducción
Un operador es un símbolo o función que indica una operación a realizar con uno o varios operandos. Hay muchos tipos de operadores, y un operando puede considerarse como una variable. Los operadores son la base de cualquier lenguaje de programación. Nos permiten realizar distintos tipos de operaciones sobre los operandos. Indican al compilador que ejecute operaciones como matemáticas (aritméticas), lógicas, de asignación, etc., y que muestre el resultado.
En Scala, como en muchos otros lenguajes, se utilizan diferentes tipos de operadores:
- Operadores relacionales
- Operadores aritméticos
- Operadores de asignación
- Operadores lógicos
- Operadores bit a bit
Verás estos operadores tanto desde el punto de vista teórico como con ejemplos de código.
Operadores relacionales
Los operadores relacionales se usan principalmente para comparar dos o más variables. Si leíste el tutorial IF ELSE in Scala, habrás visto cómo se aprovecha la potencia de los operadores relacionales dentro de las condiciones IF ELSE.
Estos operadores relacionales devuelven un valor booleano, es decir, true o false.
Estos son los símbolos de los operadores relacionales que puedes aplicar a las variables (Fuente: Operators in Scala):
-
Igual a (==):Comprueba si los dos operandos o variables son iguales. Si lo son, devuelve true; en caso contrario, devuelve false. -
Distinto de (!=):Es el opuesto del operadorigual a, es decir, su complemento booleano. Comprueba si los dos operandos dados son diferentes. Si lo son, devuelve true; si no, devuelve false. -
Mayor que (>):Comprueba si el primer operando es mayor que el segundo. Si lo es, devuelve true; en caso contrario, devuelve false. -
Menor que (<):Es el opuesto demayor que, ya que comprueba si el primer operando es menor que el segundo. Si lo es, devuelve true; si no, devuelve false. -
Mayor o igual que (>=):Comprueba si el primer operando es mayor o igual que el segundo. Si lo es, devuelve true; de lo contrario, devuelve false. -
Menor o igual que (<=):El opuesto demayor o igual que. Comprueba si el primer operando es menor o igual que el segundo. Si lo es, devuelve true; si no, devuelve false.
Veamos ahora los operadores relacionales con un ejemplo de código.

Para ejecutar el código anterior, solo tienes que escribir scala relation_op.scala y deberías ver una salida como la siguiente.

A continuación, verás los operadores lógicos.
Operadores lógicos
Se usan sobre todo en sentencias condicionales como IF ELSE o en bucles while. Combinan dos o más condiciones o también complementan el resultado de la condición original que se considera. (Fuente: Operators in Scala)
-
AND lógico:Devuelve true cuando se cumplen ambas condiciones. En caso contrario, devuelve false. Usar "and" actúa como sustituto del operador &&. -
OR lógico:Devuelve true cuando se cumple una (o ambas) de las condiciones. Si no, devuelve false. Usar "or" actúa como sustituto del operador ||. -
NOT lógico:Devuelve true si no se cumple la condición considerada. En caso contrario, devuelve false. Usar "not" actúa como alternativa al operador !.


Operadores aritméticos (matemáticos)
Como su nombre indica, los operadores aritméticos se usan para realizar operaciones matemáticas entre operandos.
Estos son los operadores aritméticos más utilizados en Scala (Fuente: Operators in Scala):
-
Suma:Suma $(+)$ dos variables/operandos. -
Resta:Resta $(-)$ dos operandos. -
Multiplicación:Multiplica $(\times)$ dos operandos. -
División:Divide $(/)$ el primer operando entre el segundo. -
Exponente:Devuelve la potencia de los operandos, es decir, cuando un operando se eleva a la potencia del segundo $(x^y)$ o $(x**y)$. -
Módulo:Cuando el primer operando se divide entre el segundo, el sobrante o residuo es el módulo (%).
Escribamos un pequeño fragmento de código y analicemos los resultados.
En este ejemplo usarás listas en lugar de definir solo variables. A diferencia de una variable, una List puede contener n valores de distintos tipos; representan listas enlazadas en Scala y son inmutables. Realizarás operaciones aritméticas sobre dos listas en lugar de sobre dos variables.


Operadores de asignación
Para asignar un valor a una variable se usan operadores de asignación. Para ello, el operando de la derecha se considera el valor y el de la izquierda suele ser la variable a la que se asigna. El valor puede tener distintos tipos de datos como int, float, etc. El tipo de dato de la variable y del valor debe coincidir; de lo contrario, el compilador mostrará un error. (Fuente: Operators in Scala)
-
Asignación simple:Este operador asigna un valor a la variable $(=)$. -
Suma y asignación:Suma el operando izquierdo con el derecho y asigna el resultado a la variable de la izquierda $(+=)$. -
Resta y asignación:Similar asuma y asignación, resta el operando derecho del izquierdo y asigna el resultado a la variable de la izquierda $(-=)$. -
Multiplicación y asignación:Multiplica el operando izquierdo por el derecho y asigna el resultado a la variable de la izquierda $(\times =)$. -
División y asignación:Divide el operando izquierdo entre el derecho y asigna el resultado a la variable de la izquierda $(/=)$.
De forma similar, hay más operadores de asignación. Para terminar, escribamos un código para ver cómo funcionan en la práctica.


Conclusión
Enhorabuena por completar este tutorial de Scala.
Si has leído los dos tutoriales anteriores, ya has cubierto tres temas distintos de Scala. Un buen ejercicio sería combinar las habilidades adquiridas en los tres y escribir un programa en Scala desde cero. No solo te dará un plus de confianza, sino que también te facilitará seguir temas mucho más avanzados en Scala.
Referencias:
Si tienes cualquier duda sobre este tutorial, déjala en los comentarios de abajo.
