Operators and expressions in Java

Arithmetic, relational, logical, assignment and the ternary operator, with examples you can try right away.

Un operador combina uno o varios valores (los operandos) para producir un resultado. En Java se agrupan en cinco familias: aritméticos, relacionales, lógicos, de asignación y de bits. Aquí verás las cuatro primeras — las que usarás el 99 % del tiempo — con laboratorios para experimentar.

Arithmetic operators

Suma +, resta -, multiplicación *, división / y resto o módulo %. Ojo: si los dos operandos son enteros, la división / es entera (descarta los decimales).

Increment and decrement: ++ and --

x++ (postfijo) usa el valor y luego suma 1. ++x (prefijo) suma 1 y luego usa el valor. Da igual en una línea suelta, pero cambia todo dentro de una expresión.

Relational operators

Comparan dos valores y devuelven un boolean: ==, !=, >, <, >=, <=. Para comparar textos usa .equals(), no ==.

Logical operators and short-circuiting

&& (Y), || (O) y ! (NO). Java es perezoso: en a && b, si a es false ya no evalúa b (y en a || b, si a es true tampoco). Eso se llama cortocircuito y sirve para evitar errores: x != null && x.length() > 0.

The ternary operator ? :

condición ? valorSiTrue : valorSiFalse — un if/else que devuelve un valor. Perfecto para asignaciones cortas.

int edad = 20;
String tipo = (edad >= 18) ? "mayor de edad" : "menor de edad";
System.out.println(tipo);

Precedence: what is evaluated first

Java resuelve las expresiones en orden: primero (), luego * / %, luego + -, después las comparaciones y por último los operadores lógicos. Elige una expresión y míralo paso a paso.

Check what you've learned