Saltar al contenido principal

Operadores

Los operadores son caracteres especiales o palabras clave que representan una acción matemática o lógica a realizar en un programa de computadora. Por ejemplo, el operador matemático + se utiliza para sumar dos números, mientras que el operador lógico and se utiliza para verificar si dos expresiones son verdaderas. Los operadores se utilizan en combinación con valores o variables para crear expresiones que pueden ser evaluadas en un resultado.

Operadores Aritméticos

Los operadores aritméticos permiten realizar operaciones matemáticas básicas como suma, resta, multiplicación y división. Los operadores aritméticos en JARU son:

OperadorDescripciónEjemplo
+Sumar dos números5 + 2 = 7
-Restar dos números5 - 2 = 3
*Multiplicar dos números5 * 2 = 10
/Dividir dos números5 / 2 = 2.5
%Permite obtener el resto de una división5 % 2 = 1
++Incrementar un número en unox++
--Decrementar un número en unox--

Es posible utilizar estos operadores para crear expresiones matemáticas más complejas, y pueden ser utilizados tanto con variables como con valores constantes.

var num1 = 5
var num2 = 2

// Suma
println(num1 + num2) // 7

// Resta
println(num1 - num2) // 3

// Multiplicacion
println(num1 * num2) // 10

// Division
println(num1 / num2) // 2.5

// Modulo
println(num1 % num2) // 1

// Incremento
num1++
println(num1) // 6

// Decremento
num2--
println(num2) // 1

Operadores de Asignación

Los operadores de asignación son aquellos que se utilizan para asignar un valor a una variable. En JARU, los operadores de asignación son:

OperadorDescripción
=Asigna el valor a la derecha de la expresión a la variable a la izquierda
+=Suma el valor a la derecha de la expresión al valor actual de la variable a la izquierda
-=Resta el valor a la derecha de la expresión al valor actual de la variable a la izquierda
*=Multiplica el valor actual de la variable a la izquierda por el valor a la derecha de la expresión
/=Divide el valor actual de la variable a la izquierda por el valor a la derecha de la expresión
%=Calcula el resto de la división del valor actual de la variable a la izquierda por el valor a la derecha de la expresión y lo asigna a la variable a la izquierda
num1 = 10
num1 += 2 // num1 = 12
num1 -= 5 // num1 = 7
num1 *= 3 // num1 = 21
num1 /= 2 // num1 = 10.5
num1 %= 3 // num1 = 1.5

Operadores de Comparación

Los operadores de comparación en JARU son similares a los de otros lenguajes de programación. Estos operadores comparan dos valores y devuelven un valor booleano (verdadero o falso).

OperadorDescripción
==Comprueba si dos valores son iguales
!=Comprueba si dos valores son diferentes
>Comprueba si el valor a la izquierda es mayor que el valor a la derecha
<Comprueba si el valor a la izquierda es menor que el valor a la derecha
>=Comprueba si el valor a la izquierda es mayor o igual que el valor a la derecha
<=Comprueba si el valor a la izquierda es menor o igual que el valor a la derecha
var num1 = 5
var num2 = 10

// usando el operador ==
if (num1 == num2) then
println("num1 es igual a num2")
else
println("num1 no es igual a num2")
end

// usando el operador !=
if (num1 != num2) then
println("num1 es diferente a num2")
else
println("num1 es igual a num2")
end

// usando el operador >
if (num1 > num2) then
println("num1 es mayor a num2")
else
println("num1 no es mayor a num2")
end

// usando el operador <
if (num1 < num2) then
println("num1 es menor a num2")
else
println("num1 no es menor a num2")
end

Operadores Lógicos

Los operadores lógicos sirven para combinar, comparar y evaluar expresiones lógicas y se utilizan para tomar decisiones basadas en el valor de las expresiones booleanas (que solo pueden tener dos valores posibles: verdadero o falso).

OperadorDescripción
andDevuelve verdadero si ambas expresiones son verdaderas
orDevuelve verdadero si al menos una de las expresiones es verdadera
notInvierte el valor lógico de la expresión
xorEvalúa a verdadero si una de las expresiones es verdadera, pero no ambas
x = (5 > 3) and (2 < 4)  // x es verdadero 
y = (5 > 3) or (2 > 4) // y es verdadero
z = not(5 > 3) // z es falso
var x = 5
var y = 8
var z = 10

println(x < y and y < z) // true
println(x > y or y < z) // true
println(not(x > y)) // true

En el primer caso la comparación x < y es verdadera y y < z también es verdadera, entonces la expresión x < y and y < z es verdadera.

En el segundo caso la comparación x > y es falsa pero y < z es verdadera, entonces la expresión x > y or y < z es verdadera.

En el tercer caso la comparación x > y es falsa, entonces not(x > y) es verdadera.

Prioridad

Es importante recordar que el operador and tiene una mayor prioridad que or, por lo que en caso de tener ambos en una expresión, se evaluará primero el and.

Operador Condicional (Ternario)

El operador condicional ?, también conocido como operador ternario, es un operador condicional que se utiliza en muchos lenguajes de programación, incluyendo JARU. El operador ternario permite tomar una decisión basada en una expresión booleana y ejecutar diferentes acciones en función del resultado de la evaluación.

La sintaxis general del operador ternario es la siguiente:

condición ? expresión_verdadera : expresión_falsa

La condición es una expresión booleana que se evalúa como verdadera o falsa. Si la condición es verdadera, se evalúa la expresión_verdadera, de lo contrario, se evalúa la expresión_falsa.

var edad = 18
var mensaje = (edad >= 18) ? "Eres mayor de edad" : "Eres menor de edad"
println(mensaje) // Output: "Eres mayor de edad"

En este ejemplo, la condición es edad >= 18, que se evalúa como verdadera porque edad es igual a 18. Por lo tanto, la expresión_verdadera es "Eres mayor de edad", que se asigna a la variable mensaje.

Uso moderado

Es importante tener en cuenta que el operador ternario puede ayudar a hacer el código más legible y breve, pero también puede hacer que el código sea más difícil de entender si se abusa de él o se usa de manera inapropiada. Por lo tanto, es importante usarlo con moderación y solo cuando sea apropiado.

Operadores ternarios anidados

Es posible anidar operadores ternarios para tomar decisiones complejas basadas en múltiples condiciones:

var edad = 18
var mensaje = (edad >= 18) ? "Eres mayor de edad" : (edad >= 13) ? "Eres un adolescente" : "Eres un niño"
println(mensaje)

En este ejemplo, se evalúan tres condiciones anidadas para determinar el mensaje que se debe mostrar en función de la edad de una persona. Si la edad es mayor o igual a 18, el mensaje será "Eres mayor de edad". Si no, se evalúa la siguiente condición: si la edad es mayor o igual a 13, el mensaje será "Eres un adolescente". Si la edad no cumple ninguna de estas condiciones, el mensaje será "Eres un niño".