Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Se detalla con ejemplos todos los tipos de operadores que existen en Java. Como por
ejemplo: Operadores relacionales, aritméticos, lógicos, de asignación, entre otros.
Java proporciona muchos tipos de operadores que se pueden usar según la necesidad. Se clasifican
según la funcionalidad que brindan. Algunos de los tipos son los siguientes:
Operadores aritméticos
Operadores unarios
Operador de asignación
Operadores relacionales
Operadores lógicos
Operador ternario
Operadores bit a bit
Operadores shift
Operador de instancia
Precedencia y Asociatividad de Operadores
Table de Contenido
1. Operadores aritméticos
2. Operadores unarios
3. Operador de asignación (=)
4. Operadores relacionales
5. Operadores lógicos
6. Operador ternario
7. Operadores bit a bit
8. Operadores shift
9. Operador de Instancia (instanceof)
10. Precedencia de Operadores
Extra: Secuencias de Escape en Java
1. Operadores aritméticos
Se utilizan para realizar operaciones aritméticas simples en tipos de datos primitivos.
*: Multiplicación
/: División
%: Modulo
+: Adición
–: Resta
Ejemplo:
a + b = 30
a - b = 10
x + y = ThankYou
a * b = 200
a / b = 2
a % b = 0
2. Operadores unarios
Los operadores unarios solo necesitan un operando. Se usan para incrementar, disminuir o negar un
valor.
2. Post-Incremento: el valor se usa por primera vez para calcular el resultado y luego se
incrementa.
2. Post-Decremento: el valor se usa por primera vez para calcular el resultado y luego se
disminuye.
! : Operador lógico “no”, utilizado para invertir un valor booleano.
Ejemplo:
Valor de c (++a) = 21
Valor de c (b++) = 10
Valor de c (--d) = 19
Valor de c (e--) = 40
Valor de !condition = false
+ = , para sumar el operando izquierdo con el operando derecho y luego asignarlo a la
variable de la izquierda.
– = , para restar el operando izquierdo con el operando derecho y luego asignarlo a la
variable de la izquierda.
* = , para multiplicar el operando izquierdo con el operando derecho y luego asignándolo a
la variable de la izquierda.
/ = , para dividir el operando izquierdo con el operando derecho y luego asignarlo a la
variable de la izquierda.
^ = , para aumentar la potencia del operando izquierdo al operando derecho y asignarlo a la
variable de la izquierda.
% = , para asignar el módulo del operando izquierdo con el operando derecho y luego
asignarlo a la variable de la izquierda.
Ejemplo:
4. Operadores relacionales
Estos operadores se utilizan para verificar relaciones como igualdad, mayor que, menor que.
Devuelven el resultado booleano después de la comparación y se usan ampliamente en
las instrucciones de bucle, así como en las sentencias condicionales if/else. El formato general
es, variable operador_relacion valor
==, Igual a: devuelve verdadero si el valor del lado izquierdo es igual al lado derecho.
! =, No igual a: devuelve verdadero si el valor del lado izquierdo no es igual al lado
derecho.
<, menos que: el resultado verdadero si el valor del lado izquierdo es inferior al del lado
derecho.
<=, menor o igual que: devuelve verdadero si el valor del lado izquierdo es menor o igual
que el lado derecho.
>, Mayor que: devuelve verdadero si el valor del lado izquierdo es mayor que el lado
derecho.
> =, Mayor que o igual a: regresa verdadero si el valor del lado izquierdo es mayor o igual
que el lado derecho.
Ejemplo:
5. Operadores lógicos
Estos operadores se utilizan para realizar operaciones “lógicas AND” y “lógicas OR”, es decir, la
función similar a la puerta AND y la puerta OR en electrónica digital. Una cosa a tener en cuenta es
que la segunda condición no se evalúa si la primera es falsa, es decir, tiene un efecto de
cortocircuito. Se usa ampliamente para probar varias condiciones para tomar una decisión.
&&, AND lógico: devuelve verdadero cuando ambas condiciones son verdaderas.
|| , O lógico: devuelve verdadero si al menos una condición es verdadera.
Ejemplo:
6. Operador ternario
Ternario es una versión abreviada de la declaración if-else. Tiene tres operandos y de ahí el nombre
ternario. El formato general es: condicion ? if true : if false
La declaración anterior significa que si la condición se evalúa como verdadera, entonces ejecuta las
instrucciones después del ‘?‘ de lo contrario, ejecuta las instrucciones después de ‘:‘.
Ejemplo:
Ejemplo:
1. // Programa Java para ilustrar
2. // operadores bit a bit (bitwise)
3. public class operators
4. {
5. public static void main(String[] args)
6. {
7.
8. int a = 0x0005;
9. int b = 0x0007;
10.
11. // bitwise AND
12. // 0101 & 0111=0101
13. System.out.println("a&b = " + (a & b));
14.
15. // bitwise or
16. // 0101 | 0111=0111
17. System.out.println("a|b = " + (a | b));
18.
19. // bitwise xor
20. // 0101 ^ 0111=0010
21. System.out.println("a^b = " + (a ^ b));
22.
23. // bitwise complemento
24. // ~0101=1010
25. System.out.println("~a = " + ~a);
26.
27. // también se puede combinar con el
28. // operador de asignación
29. // a=a&b
30. a &= b;
31. System.out.println("a= " + a);
32. }
33. }
Salida:
a&b = 5
a|b = 7
a^b = 2
~a = -6
a= 5
8. Operadores shift
Los operadores shift de Java se usan para desplazar los bits de un número hacia la izquierda o hacia
la derecha, multiplicando o dividiendo el número por dos, respectivamente. Se pueden usar cuando
tenemos que multiplicar o dividir un número por dos.
<<, operador de desplazamiento a la izquierda : desplaza los bits del número hacia la
izquierda y llena con “0” los bits desplazados. Efecto similar a la multiplicación del número
con una potencia de dos.
>>, Operador de desplazamiento a la derecha firmado: desplaza los bits del número a la
derecha y llena con “0” los bits desplazados. El bit más a la izquierda depende del signo del
número inicial. Efecto similar a partir de dividir el número con alguna potencia de dos.
>>>, Operador de cambio a la derecha sin signo: desplaza los bits del número a la
derecha y llena con “0” los bits desplazados. El bit más a la izquierda se establece en 0.
Ejemplo:
1. // Programa Java para ilustrar
2. // operadores shift
3. public class operators
4. {
5. public static void main(String[] args)
6. {
7.
8. int a = 0x0005;
9. int b = -10;
10.
11. // operador de desplazamiento a la izquierda
12. // 0000 0101<<2 =0001 0100(20)
13. // similar a 5*(2^2)
14. System.out.println("a<<2 = " + (a << 2));
15.
16. // operador de desplazamiento a la derecha
17. // 0000 0101 >> 2 =0000 0001(1)
18. // similar a 5/(2^2)
19. System.out.println("a>>2 = " + (a >> 2));
20.
21. // operador de cambio a la derecha sin firmar
22. System.out.println("b>>>2 = "+ (b >>> 2));
23.
24. }
25. }
Salida:
a<<2 = 20
a>>2 = 1
b>>>2 = 1073741821
×Nota: No se preocupe si no entiende, lo veremos más adelante en detalle. Sin embargo, es bueno
que conozca que existe este tipo de operador.
Operador Aociatividad
++ — De derecha a izquierda
Tabla de Precedencia y asociatividad de los operadores en Java.
Operador Aociatividad
++ — + – ! De derecha a izquierda
+– De derecha a izquierda
== != De derecha a izquierda
^ De derecha a izquierda
| De derecha a izquierda
|| De derecha a izquierda
?: De derecha a izquierda
= += -= *= /= %= De derecha a izquierda
Los literales normalmente se desprenden de las palabras clave del lenguaje Java, pero cuando se
requieren comillas dobles o comillas simples dentro de un valor de String, es necesario indicar que el
carácter de cita debe tratarse LITERALMENTE para evitar terminar prematuramente el String. Esto
se logra fácilmente mediante el prefijo inmediato de cada carácter de comillas anidado con el
operador de escape \.
Además, el operador de escape \ ofrece una variedad de secuencias de escape muy útiles como son
los siguientes:
Escape Descripción
\n Nueva Linea.
\t Tabulador.
\b Backspace
\f Form feed.
\’ Comilla simple
\” Comilla doble
1. class Escape {
2.
3. public static void main( String[] args ) {
4.
5. String cabecera = "\n\tPRONOSTICO DE CLIMA:\n" ;
6. cabecera += "\n\tDia\t\tMañana\tNoche\tCondiciones\n" ;
7. cabecera += "\t---\t\t-------\t----\t-----------\n" ;
8.
9. String pronostico = "\tDomingo\t25C\t\t23C\t\tSoleado\n";
10. pronostico += "\tLunes\t24C\t\t19C\t\tSoleado\n";
11. pronostico += "\tMartes\t26C\t\t15C\t\tNublado\n";
12.
13. System.out.print(cabecera+pronostico) ;
14. }
15. }
Salida: