» Operadores
Operadores
Los operadores se dividen en cuatro tipos :
- Operador = de asignación.
- Operadores aritméticos: + - * / %
- Operadores booleanos: == && || !
- Operador condicional: ? :
Asignación
Asigna a una variable el valor de una constante o el valor de otra variable.
variable = "valorConstante" variable1 = otraVariable
Aritméticos
Los operadores aritméticos utilizan valores numéricos (ya sean literales o variables) en sus operando/s y devuelven a su vez un valor numérico, que puede ser utilizado directamente o asignado a una variable.
Suma, resta, división y multiplicación
a + b a - b a * b a / b
Módulo o resto
Devuelve la resta de una división entera.
a % b 3 % 2 = 1 4 % 2 = 0 5 % 2 = 1 18 % 8 = 2
Paréntesis
Dane prioridad en la evaluación de expresiones
(a operador aritmético b) ((a+b)*c) (a+(b*c))
Operadores booleanos o lógicos
Los operadores lógicos utilizan valores booleanos (ya sean literales o variables) en sus operando/s y devuelven a su vez un valor numérico, que puede ser utilizado directamente o asignado a una variable, convirtiéndose, por tanto, en una expresión booleana.
Negación
Niega el valor. Si es true devuelve false y viceversa
!valor not valor
O lógico
Devuelve true si uno de los dos es true. En inglés, "or" = "o"
e1 || e2 e1 or e2
Y lógico
Devuelve true si los dos son true. En inglés, "and" = "y"
e1 && e2 e1 and e2
Igualdad
Devuelve true si los elementos son iguales. En inglés, "eq" = "equals" = "igual"
A diferencia de Java, es posible comparar dos cadenas de texto con este operador. Conviene recordar que para comparar dos cadenas en Java es necesario utilizar el método equals(), sin embargo en Ognl/OgnlScript esto no es necesario (aunque se sigue pudiendo hacer)
e1 == e2 e1 eq e2
No igualdad
Devuelve true si los elementos son distintos. En inglés, "neq" = "not equals" = "no igual"
e1 != e2 e1 neq e2
Mayor que
Devuelve true si el primer elemento es mayor que el segundo. En inglés, "gt" = "greater than" = "mayor que"
e1 > e2 e1 gt e2
Mayor o igual que
Devuelve true si el primer elemento es mayor o igual que el segundo. En inglés, "gte" = "greater than or equals" = "mayor o igual que"
e1 >= e2 e1 gte e2
Menor que
Devuelve true si el primer elemento es menor que el segundo. En inglés, "lt" = "less than" = "menor que"
e1 < e2 e1 lt e2
Menor o igual que
Devuelve true si el primer elemento es menor o igual que el segundo. En inglés, "lte" = "less than or equals" = "menor o igual que"
e1 <= e2 e1 lte e2
Paréntesis
Prioridad en la evaluación de expresiones booleanas con los operadores booleanos
(a operador booleano b) (a || b) && c ((a || b) && c) || (c && !b)
Operador condicional
Devuelve el primer valor si la expresión boolean es verdadera. Si es falsa, devuelve el segundo valor.
expresion ? primerValor : segundoValor 10 > 5 ? "diez es mayor que cinco" : "diez no es mayor que cinco" condicion ? "La condicion se ha cumplido": "La condición no se ha cumplido" a && b ? 20 : 10
Ampliar información
Más información en OGNL: Appendix A. OGNL Language Reference (http://www.ognl.org/2.6.9/Documentation/html/LanguageGuide/apa.html)