Você está na página 1de 9

Operadores

FJP Unidad 4

Operadores del lenguaje


7 operadores unarios: ++, --, +, -, !, ~, ( ) , [ ]
5 operadores aritmticos: * , / , %, +,
Operadores de corrimiento: <<, >>, >>> (bits)
Operadores de comparacin: ==, >, <, >=, <=, !=
Operadores lgicos: &, |, ^, &&, ||
Operador de asignacin: =
Operadores de objeto : . , new , instanceof
Academia Local Cisco UTN Facultad Regional Santa Fe http://www. santafecna.org. ar

Precedencia de operadores
Toda operacin con los datos es ejecutada de manera
consistente siguiendo la precedencia preestablecida de
operadores.
Cada operador es asignado a un grupo de precedencia
(ver tabla de operadores)
Todos los operadores de un grupo de precedencia dado
poseen precedencia (o prioridad) sobre los operadores
en el grupo inferior

Academia Local Cisco UTN Facultad Regional Santa Fe http://www. santafecna.org. ar

Precedencia ((cont.)
cont.)
Operadores con igual precedencia (pertenecen
al mismo grupo)
son ejecutados de derecha a izquierda, o de izquierda a
derecha. Propiedad asociativa de un grupo de
operadores
Expresiones aritmticas: izquierda derecha
Expresiones de asignacin: derecha izquierda

Parntesis
para evitar ambigedad

Academia Local Cisco UTN Facultad Regional Santa Fe http://www. santafecna.org. ar

Tipos lgicos y operadores


lgicos
El tipo de dato boolean representa valores
lgicos
estados posibles: true o false

Operadores de comparacin y operadores


lgicos retornan un resultado boolean
Ej:
3>2
3<1

true
false

(3 > 2) & (7 < 10) true

Academia Local Cisco UTN Facultad Regional Santa Fe http://www. santafecna.org. ar

Tipos de operadores de
comparacin
Existen tres tipos de operadores de comparacin:
Ordinal
verifica el valor relativo de dos operandos numricos

> ; < ; >= ; <=

Igualdad
== ; !=

Tipo de objeto
instanceof
Ej:
String s1 = new String(palabra);
La expresin:

(s1 instanceof String)

true

Academia Local Cisco UTN Facultad Regional Santa Fe http://www. santafecna.org. ar

Operadores lgicos
AND &
OR

XOR ^
AND de circuito corto (short-circuit) &&
OR de circuito corto (short-circuit)
Ejemplos:

||

int x = 1, y = 2, z = 3;
(x<y) & (y>z) false
(x<y)

| (y>z) true

(x<y)

^ (y>z) true

Academia Local Cisco UTN Facultad Regional Santa Fe http://www. santafecna.org. ar

Short
-circuit
Short-circuit
Un short-circuit de expresiones lgicas es ejecutado
cuando la evaluacin de la primer subexpresin hace no
necesaria la evaluacin de la segunda expresin
Ej.: short-circuit AND
si la primer subexpresin es falsa, no es necesario evaluar la segunda
subexpresin
puede inferirse que la expresin completa es falsa
int x = 1, y = 2, z = 3;
(x>y)
false

&& ( y < z ) false


no evaluada

Academia Local Cisco UTN Facultad Regional Santa Fe http://www. santafecna.org. ar

Operador condicional
Sintaxis
Condicin

true

false

Posibilita dos cosas:


verificar una condicin
asignar valores alternativos basado en el resultado de la
condicin
Ej:

double y;
int x = 4;
y = x > 3 ? 2,00 : 5;

Academia Local Cisco UTN Facultad Regional Santa Fe http://www. santafecna.org. ar

Operadores de corrimiento
((bitwise)
bitwise)
Ejecutan el corrimiento de bits de la
representacin binaria del operando a la izquierda
Slo aplicable a datos tipo Integrales (byte, short, int, long)

Ej.:
int numeroAnterior = 10540;
int nroNuevo = numeroAnterior << 2;

00000000000000000010100100101100 = 10540
00000000000000001010010010110000 = 42160

Academia Local Cisco UTN Facultad Regional Santa Fe http://www. santafecna.org. ar

Casting y conversin
Asignar un valor de un tipo de datos a una variable
de otro tipo de datos
Idea bsica relacionada a:
tamao de almacenamiento, y
familia de tipos (compatibles)

El compilador no permite casting de tipos incompatibles.


Si el casting ocurre en tiempo de ejecucin, una excepcin
ClassCastException es lanzada

Academia Local Cisco UTN Facultad Regional Santa Fe http://www. santafecna.org. ar

Casting y conversin
((cont.)
cont.)
Para tipos compatibles:
la conversin se ejecuta automticamente o
implcitamente

Ej:

long x = 1256;

(el valor 1256 es de tipo int)

Cuando la asignacin genera prdida de


informacin
el compilador Java requiere que el programador confirme la
asignacin con un typecast (forzado de tipo o casting explcito)

Ej:

byte x = 1256;

INCORRECTO

byte x = (byte)1256;

CORRECTO

typecast
Academia Local Cisco UTN Facultad Regional Santa Fe http://www. santafecna.org. ar

Compatibilidad en la
asignacin
Este concepto posee consecuencias
importantes en herencia
Cuando un mtodo retorna un valor, la asignacin de
este valor de retorno debe hacerse a una variable de
asignacin compatible
Este concepto aplica a tipos primitivos y tipos objeto
(referencias)

Academia Local Cisco UTN Facultad Regional Santa Fe http://www. santafecna.org. ar

Datos de tipo Texto


Datos texto pueden ser representados como:
caracteres simples almacenados en un tipo
primitivo de datos char
caracteres simples UNICODE de 16 bits
Ej:

a b c 1 2 3 - #

Clases String y StringBuffer


Almacenan datos texto como una cadena de caracteres
Ej:

abc123 - #
Academia Local Cisco UTN Facultad Regional Santa Fe http://www. santafecna.org. ar

String y StringBuffer
Objetos de tipo String son inmutables
su valor no puede ser modificado despus de su creacin
En caso de cambiar su contenido uso intensivo de memoria.

Objetos de tipo StringBuffer son mutables


permiten modificaciones
Los cambios se efectan sobre un nico objeto en memoria
debera utilizarse la clase StringBuffer cuando los datos de texto varan

Academia Local Cisco UTN Facultad Regional Santa Fe http://www. santafecna.org. ar

Ej. asignacin de Strings y


chars
char unCaracter = A;
String texto = unCaracter;

//INCORRECTO

Error : Incompatible type for declaration. Cant convert char to

java.lang.String
Solucin 1:
String texto = + unCaracter;

Solucin 2:

String vaco y operador suma


sobrecargado (concatenacin)

String texto = new String(unCaracter);


Llamada al contructor de la clase
String.

Academia Local Cisco UTN Facultad Regional Santa Fe http://www. santafecna.org. ar

Cadena de operaciones
A travs del operador de punto .
en Java es comn encontrar cdigo que incluya encadenado de
operaciones

En una expresin que encadena operaciones


cada operando que sigue al operador de punto est asociado al
operando que lo precede

Ej.: en la expresin

System.out.println(Hola)

el operando out es asociado a la clase System, y


el mtodo println() es asociado al objeto out
Obs.:
el mtodo println() pertenece a la clase PrintStream , no a la clase System
el objeto out es del tipo PrintStream
Academia Local Cisco UTN Facultad Regional Santa Fe http://www. santafecna.org. ar

Clase System
Ha sido utilizada para mostrar resultados por pantalla
Funcionalidad principal:
acceder a los dispositivos del sistema operativo de bajo nivel
entrada y salida del programa

Contiene referencias a tres objetos estticos tiles:


in, out, err
A travs de estos objetos es posible enviar y recibir datos utilizando los
dispositivos default de entrada y salida
Default input device teclado
Default output device pantalla
Academia Local Cisco UTN Facultad Regional Santa Fe http://www. santafecna.org. ar

Você também pode gostar