Tabla de Contenidos
Operadores en Java
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.
Paréntesis
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))
Operadores Aritméticos
Son operadores binarios (requieren 2 valores) y se usan en operaciones entre tipos primitivos numéricos:
- suma
+
- resta
-
- mutiplicación
*
- división:
/
- resto de división (módulo):
%
int operacion = 3 * 4; double resultado = operación / 3.15; int resto = 8 % 3; //el resto es 2
Operadores de Asignación
Permiten asignar un valor a una variable.
- El operador principal es
=
→ 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
Operadores Incrementales
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 1
int 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
Expresiones booleanas
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.
Operadores Comparativos (booleanos)
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 que
int numero1 = 6; int numero2 = numero1; boolean resultado = 5 > 5; //false resultado = 5 >= 5; //true resultado = numero1 == numero2; //true resultado = numero != (numero2 * 4); //true
Operadores Lógicos (booleanos)
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ón
expresionA | 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
Operador Condicional
Es un operador tomado de C/C++, que permite seleccionar un valor dependiendo de una expresión booleana.
- expresionBooleana ? valor1 : valor2;
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" );
- Si la expresión booleana
num2 > num1
se evalua comotrue
, se coje el primer valor, y si esfalse
, se coje el segundo.
© 2024 Fernando Valdeón