Table of Contents

Los operadores

Los operadores unarios

Los operadores unarios actúan sobre una sola variable:

int x = 10;
System.out.println(++x);    // 11
System.out.println(x++);    // 11
System.out.println(x);      // 12
int x = 10;
System.out.println(--x);    // 9
System.out.println(x--);    // 9
System.out.println(x);      // 8
boolean terminado = false;
System.out.println(!terminado); // true
int x = -100;
int y = 500;
int z = -y;
System.out.println(x);  // -100
System.out.println(y);  // 500
System.out.println(z);  // -500

Los operadores aritméticos

Los operadores aritméticos permiten realizar operaciones aritméticos entre dos o más variable o expresiones:

int valor = 3 + 3 + otraVariable;
int valor = 3 - otraVariable;
float peso = miPeso * 10f;
double distancia = 100.23 / 4;
int modulo = 2 % 1;

Los operadores de asignación

Los operadores de asignación permite asignar el resultado de una operación o valor a una variable, o que dicho valor sea utilizado como operando de otra operación o expresión. Además, existen algunos operadores que combinan operaciones aritméticas y permiten asignar al mismo tiempo el resultado de dicha operación.

int x = 2;
System.out.println(x);  // 2
int y;
y = x * 10;
System.out.println(y);  // 20
int x = 10;
x += 2;
System.out.println(x);      // 12
int x = 10;
x -= 1;
System.out.println(x);      // 9
x -= 10 + 2;
System.out.println(x);      // -3
int x = 10;
x *= 2 + 3;
System.out.println(x);      // 50;
int x = 100;
x /= 8 + 2;
System.out.println(x);      // 10
int x = 9;
x %= 3 - 1;
System.out.println(x);      // 1
Figure 1: Operadores aritméticos y de asignación

Los operadores de comparación

El resultado una expresión de comparación siempre es booleano, podrá cumplirse (valor true) o no (valor false).

System.out.println(10 == 3);    // false
int x = 3;
int y = 3;
System.out.println(x == y);    // true
System.out.println(10 != 3);    // true
int x = 3;
int y = 3;
System.out.println(x != y);    // false
System.out.println(10 > 3);    // true
System.out.println(3 >= 3);    // true
System.out.println(10 < 3);    // false
System.out.println(2 <= 3);    // true
Figure 2: Operadores de comparación

El operador de concatenación

El operador de concatenación permite añadir a una cadena de texto el contenido de otra. En Java se utiliza el mismo operador que para sumar números, pero al usarse con cadenas de texto funciona como operador de concatenación.

String unaCadena = "Esto es ";
String otraCadena = "una cadena";
String cadena = unaCadena + otraCadena;
System.out.println(cadena);     // Esto es una cadena

Orden de evaluación de los operadores

Es importante tener en cuenta el orden de evaluación de los operadores ya que, en algunos casos, definen el resultado de la operación. Pongamos algún ejemplo:

int x = 3 + 2 * 5
System.out.println("Cuanto vale x?");
System.out.println(x);

Si se quiere alterar la precedencia de algunos operadores o el orden de evaluación de las expresiones, se pueden hacer uso de los paréntesis para agrupar expresiones que queremos que se evaluen antes que otras. Hay que tener en cuenta que Java siempre evaluará primero las expresiones más internas. Pero, en aquellas expresiones en igualdad de condiciones, las operaciones multiplicación y división (el módulo también) tienen precedencia frente a la suma y la resta.

Además, los operadores unarios tienen siempre precedencia sobre el resto de operadores.

int x = (3 + 2) * 5
System.out.println("Y ahora cuanto vale x?");
System.out.println(x);
int x = (3 + 2) * 5 + (3 * 2 * (3 + 2))
System.out.println("Y ahora?");
System.out.println(x);

Operadores pre/pos incremento

Figure 3: Operadores lógicos

Operadores combinados

Figure 4: Operadores lógicos

Operadores lógicos

Figure 5: Operadores lógicos

Operador condicional

Es un operator ternario que permite asignar un valor u otro a una variable en función de que se cumpla o no una condición. Es una forma reducida de utilizar una sentencia if .. else en casos específicos.

La síntaxis del operador es:

resultado = condicion ? valorSiVerdadero: valorSiFalso

Veamos un par de ejemplos:

En este caso se asignará un valor a la cadena de texto dependiendo de si el número es par o impar:

int numero = 10;
String cadena = 10 % 2 == 0 ? "Es número par" : "Es número impar";

Y en este otro ejemplo, se parsea la cadena de forma segura

String valor = "30";
int cantidad = valor.equals("") ? 0 : Integer.parseInt(valor);

© 2021-2024 Santiago Faci