Documentos de Académico
Documentos de Profesional
Documentos de Cultura
VILETA, Erico
Haga una sntesis de los operadores mencionados en este punto, con un ejemplo de cada uno de
ellos.
- Operador de asignacin
El operador = asigna el valor de la expresin derecha a la variable situada a su izquierda. Este
operador es asociativo por la derecha, eso permite realizar asignaciones mltiples. As:
a = b = c = 45; equivale a
a = (b = (c = 45)) ; o dicho de otro modo, a las variables a, b y c se les asigna el valor 45. Esta
propiedad permite inicializar varias variables con una sola sentencia:
int a, b, c ;
a = b = c = 5; / / se asigna 5 a las variables a, b y c.
Operadores de asignacin de Java
a = b Asigna el valor de b a a.
a *= b Multiplica a por b y asigna el resultado a la variable a.
a /= b Divide a entre b y asigna el resultado a la variable a.
a %= b Fija a al resto de a/b.
a += b Suma b y a y lo asigna a la variable a.
a -= b Resta b de a y asigna el resultado a la variable a.
- Operadores aritmticos
Los operadores aritmticos sirven para realizar operaciones aritmticas bsicas. Los operadores
aritmticos Java siguen las reglas algebraicas tpicas de jerarqua o prioridad.
Estas reglas especifican la precedencia de las operaciones aritmticas.
Considere la expresin
x + t * 2, la expresin anterior equivale a: x + (t * 2)
Operadores aritmticos
Suma 4 + 5
Resta 7 3
Producto 4 * 5
Divisin entera: cociente Divisin en coma flotante 8 / 5
Divisin entera: resto 12 % 5
Obsrvese que los operadores + y , cuando se utilizan delante de un operador, actan como
operadores unitarios + y .
+ 75 / / 75 significa que es positivo
154 / / 154 significa que es negativo
Ejemplo:
2. Cul es el resultado de la expresin: 5 * (5+ (6 2)+ 1)?
5 * (5 + (6 2) + 1)
5 * (5 + 4 + 1)
5 * 10
50
- Asociatividad
La asociatividad determina el orden en que se agrupan los operadores de igual prioridad; es decir,
de izquierda a derecha o de derecha a izquierda. Por ejemplo:
h 5 + w se agrupa como (h 5) + w ya que y +, que tienen igual prioridad, tienen asociatividad
de izquierda a derecha. Sin embargo,
x = y = z se agrupa como
x = (y = z) ya que su asociatividad es de derecha a izquierda.
Ejemplo Cul es el resultado de la expresin: 7 * 10 5 % 3 * 4 + 9 ?
Existen tres operadores de prioridad ms alta (*, % y *)
70 5 % 3 * 4 + 9
La asociatividad es a izquierda, por consiguiente se ejecuta a continuacin %
70 2 * 4 + 9
y la segunda multiplicacin se realiza a continuacin, produciendo
70 8 + 9
Las dos operaciones restantes son de igual prioridad, y como la asociatividad es a izquierda, se
realizar la resta primero y se obtiene el resultado 62 + 9 y por ltimo se realiza la suma y se
obtiene el resultado final de 71.
- Uso de parntesis
Los parntesis se pueden usar para cambiar el orden usual de evaluacin de una expresin
determinada por su prioridad y asociatividad.
Si los parntesis estn anidados - es decir, un conjunto de parntesis contenido en otro se
ejecutan en primer lugar los parntesis ms internos. Por ejemplo, considrese la expresin (7 *
(10 5) % 3) * 4 + 9
La subexpresin (10 5) se evala primero, produciendo (7 * 5 % 3) * 4 + 9
A continuacin se evala de izquierda a derecha la subexpresin (7 * 5 % 3)
(35 % 3) * 4 + 9 seguida de 2 * 4 + 9 Se realiza a continuacin la multiplicacin obteniendo 8 + 9 y
la suma produce el resultado final: 17
Operadores de incrementacin y decrementacin
Los operadores ++ y -- , de nominados de incrementacin y decrementacin, suman o restan 1 a su
argumento, respectivamente, cada vez que se aplican a una variable.
Si los operadores ++ y - - estn de prefijos, la operacin de incremento se efecta antes que la
operacin de asignacin; si lo operadores ++ y - - estn de sufijos, la asignacin se efecta en
primer lugar y la incrementacin o decrementacin a continuacin.
Ejemplo
int i = 10 ;
int j ;
cortocircuito y se debe a que si p es falso, la condicin p && q es falsa, con independencia del valor
de q, y de este modo Java no evala q. De modo similar, si p es verdadera la condicin p I I q es
verdadera, con independencia del valor de q, y Java no evala q. Se visualiza el mensaje Par de
valores no vlidos para valores de x menores que 5 y de b mayores o igual que 19; o bien, para
valores de x mayores o igual que 5 y de b menores que 19.
El operador ^ tiene mayor prioridad que !, que a su vez tiene prioridad ms alta que
&&, y ste a su vez tiene mayor prioridad que I I. La asociatividad es de izquierda a derecha.
Ejemplo: Supongamos que se evala la expresin
( x > 0.0) && (Math.log (x) >= 2.)
Dado que en una operacin lgica Y (&&) si el operando de la izquierda ( x > 0.0) es falso (x es
negativo o cero), la expresin lgica se evala a falso y, en consecuencia, no es necesario evaluar
el segundo operando. En el ejemplo anterior, la expresin evita calcular el logaritmo de nmeros
(x) para los cuales no est definida la funcin log ( ).
La evaluacin en cortocircuito tiene dos beneficios importantes:
1. Una expresin booleana se puede utilizar para guardar una operacin potencialmente insegura
en una segunda expresin booleana.
2. Se puede ahorrar una considerable cantidad de tiempo en la evaluacin de condiciones
complejas.
- Operador coma
El operador coma permite combinar dos o ms expresiones separadas por comas en una sola
lnea. Se evala primero la expresin de la izquierda y luego las restantes expresiones de izquierda
a derecha. El uso del operador como es como sigue:
expresin1 , expresin 2 , expresin 3 , , expresin n
Dado que el operador coma se asocia de izquierda a derecha, la primera variable est declarada e
inicializada antes que la segunda variable j. Se utiliza en algunas ocasiones en los bucles for para
anidar expresiones. Por ejemplo:
double z ;
int j ;
for (j = 0, z = 1.0; j <= 99; j += 2, z += j) ;
- Operadores ., ( ), [ ]
Java utiliza como operadores la seleccin de elementos de un objeto, la llamada a un mtodo y el
acceso a un elemento de un array.
- El operador .
El operador punto (.) permite acceder a un miembro de un objeto, siempre que la visibilidad del
miembro lo permita. La sintaxis:
objeto.miembro
- El operador ( )
El operador ( ) es el operador de llamada a mtodos. Sirve para encerrar los argumentos del
mtodo o funcin, efectuar conversiones explcitas de tipo, indicar en el seno de una declaracin
que un identificador corresponde a un mtodo, resolver los conflictos de prioridad entre
operadores.
- El operador [ ]
Sirve para dimensionar los arrays y designar un elemento de un array.
Ejemplos de ello:
double v [ ] ; / / declara un array de elementos de tipo double
System.out.println (v [2] = + v [2] ) ; / / escribe el elemento 2 de v
Esta sobrecarga o redefinicin del operador + con cadenas permite conversiones automticas de
datos de tipo simple a cadena. As, por ejemplo:
int x ;
x = 91 ;
String cad = Valor de x = + x ;
- Prioridad y Asociatividad
La prioridad o precedencia de operadores determina el orden en el que se aplican los operadores
a un valor. Los operadores Java vienen en una tabla con dieciocho grupos. Los operadores del
grupo 1 tienen mayor prioridad que los del grupo 2, y as sucesivamente:
Si dos operadores se aplican al mismo operando, el operador con mayor prioridad se aplica
primero.
Todos los operadores del mismo grupo tienen igual prioridad y asociatividad.
Si dos operandos tienen igual prioridad, el operador con prioridad ms alta se aplica primero.
La asociatividad izquierda-derecha significa aplicar el operador ms a la izquierda primero, y en la
asociatividad derecha-izquierda se aplica primero el operador ms a la derecha.
Los parntesis tienen la mxima prioridad.
Prioridad
Operadores
Asociatividad
1
2
I-D
ID
DI
ID
DI
DI
ID
ID
ID
ID
ID
ID
ID
ID
ID
DI
ID
3
4
5
6
7
8
9
10
11
12
13
14
16
17