Los operadores son instrucciones que se usan junto a las variables o los tipos de datos para construir operaciones.
Las normas de estilo aconsejan, separar mediante espacios y paréntesis los operadores y los valores en las operaciones, para mejorar la legibilidad del código.
Siempre que utilice operadores distintos, aunque sea del mismo tipo, debo separar las operaciones con paréntesis. Así se enténderá claramente qué operación quiero realizar.
int numero = (4 + 5) * (3 / 2) boolean resultado = (3 > 4) && ((numero > 5) || (45 % 2 == 1))
Son operadores binarios (requieren 2 valores) y se usan en operaciones entre tipos primitivos numéricos:
+
-
*
/
%
int operacion = 3 * 4; double resultado = operación / 3.15; int resto = 8 % 3; //el resto es 2
Permiten asignar un valor a una variable.
=
→ Quiere decir que el valor que hay a la derecha se guardará en la variable de la izquierda int numero1 = 45; int numero2 = numero1 - 10; //numero2 -> 35, numero1 -> 45
Pero existen otros operadores de asignación que además realizan operaciones antes de la asignación:
Operador | Utilización | Operación realizada |
---|---|---|
+= | variable1 += variable2 | variable1 = variable1 + variable2 |
-= | variable1 -= variable2 | variable1 = variable1 - variable2 |
*= | variable1 *= variable2 | variable1 = variable1 * variable2 |
/= | variable1 /= variable2 | variable1 = variable1 / variable2 |
%= | variable1 %= variable2 | variable1 = variable1 % variable2 |
int numero1 = 45; int numero2 = numero1 - 10; numero2 += 3; //numero2 = 35 + 3; numero1 -= numero2; //numero1 = numero1 - numero2 -> 7
(IMPORTANTE) Una variable no cambiará nunca su contenido mientras no se realice sobre ella una asignación
Su funcionamiento es parecido a los operadores de asignación anteriores.
Incrementan o decrementan en una unidad el valor de la variable:
++
: incrementa el valor en 1--
: decrementa el valor en 1int numero1 = 1; numero1 ++; //Ahora numero1 vale 2: numero1 = numero1 + 1 numero1 = 7; numero1 --; //Ahora numero1 vale 6: numero1 = numero1 -1
Estos operadores se pueden colocar delante o detás de la variable. Pero hay un punto a tener en cuenta con estos operadores si los usamos en una asignación:
//Primer caso int numero1 = 1; int numero2 = numero1 ++; //Primero se asigna el valor de numero1 a numero2 //Después se realiza el incremento //Resultado: numero1 -> 2, numero2 -> 1 //Segundo caso numero1 = 1; numero2 = --numero1; //Ahora, primero se realiza el decremento sobre numero1 //Después se asigna el valor de numero1 a numero2 //Resultado: numero1 -> 0; numero2 -> 0
Una expresión booleana es una operación que da como resultado un valor booleano: true
o false
.
Los siguientes tipos de operaciones son expresiones booleanas que dan como resultado un valor booleano.
Se utilizan para crear expresiones booleanas
. Al evaluar dicha expresión el resultado es un valor booleano: true
o false
==
: iguales!=
: distintos>
: mayor que>=
: mayor o igual que<
: menor que<=
: menor o igual queint numero1 = 6; int numero2 = numero1; boolean resultado = 5 > 5; //false resultado = 5 >= 5; //true resultado = numero1 == numero2; //true resultado = numero != (numero2 * 4); //true
Los operadores lógicos permiten crear una expresión booleana
(true/false) a partir de otras expresiones booleanas más pequeñas:
&&
: true solo si las dos expresiones son true; false en cualquier otro caso||
: false solo si las dos expresiones son false; true en cualquier otro caso!
: invierte el valor booleano de la expresiónexpresionA | expresionB | expresionA && expresionB |
---|---|---|
false | false | false |
false | true | false |
true | false | false |
true | true | true |
expresionA | expresionB | expresionA || expresionB |
---|---|---|
false | false | false |
false | true | true |
true | false | true |
true | true | true |
int num1 = 5; int num2 = 3; int num3 = -7; boolean resultado = (num1 > num3) && (num3 > num2) //false resultado = (num1 > num3) || (num3 > num2) //true resultado = true; resultado = !resultado; //false, invierte el valor
Es un operador tomado de C/C++, que permite seleccionar un valor dependiendo de una expresión booleana.
int num1 = 56; int num2 = -14; //Puedo almacenar el valor seleccionado en una variable del tipo concreto String resultado = num2 > num1 ? "num2 es mayor" : "num1 es mayor"; int mayor = num2 > num1 ? num2 : num1; //O mostrar el valor directamente por consola: "num1 es mayor" System.out.println( num2 > num1 ? "num2 es mayor" : "num1 es mayor" );
num2 > num1
se evalua como true
, se coje el primer valor, y si es false
, se coje el segundo.© 2024 Fernando Valdeón