1. Ríos, María Fernanda Página 1
INTRODUCCIÓN A LA INFORMÁTICA
Actividad de Proceso N° 7 - Unidad N°4
Haga una síntesis de los operadores mencionados en este punto, con un ejemplo de cada uno de
ellos.
Operadores y expresiones
Los programas Java incluyen datos, sentencias de programas y expresiones. Una expresión es una
secuencia de operaciones y operandos que especifican un cálculo.
+ entre números (o variables) → operador binario.
actúa sobre un único valor → operador unitario («unario»).
Java soporta un conjunto potente de operadores unitarios, binarios y de otros tipos.
Operador de Asignación
El operador “=” asigna el valor de la expresión derecha a la variable situada a su izquierda. Este operador
es asociativo por la derecha, eso permite realizar asignaciones múltiples. Esta propiedad permite
inicializar varias variables con una sola sentencia:
codigoP = 2205 ;
int d,e,f;
d = e = f = 53;
Además del operador de asignación “=”, Java proporciona cinco operadores de asignación adicionales.
Estos operadores, actúan como una notación abreviada para expresiones utilizadas con frecuencia.
contador += 1; equivale a contador = contador + 1;
Operadores Aritméticos
Los operadores aritméticos sirven para realizar operaciones aritméticas básicas, siguen las reglas
algebraicas típicas de jerarquía o prioridad.
Estas reglas especifican la precedencia de las operaciones aritméticas.
En Java, las expresiones dentro de un paréntesis se evalúan primero; a continuación, se realizan los
operadores unitarios, seguidos por los operadores de multiplicación, división, resto, suma y resta.
1. ¿Cuál es el resultado de la expresión: 5 + 4 * 10 – 6 * 3?
5 + 4 * 10 - 6 * 3
5 + 40 - 18
45 – 18
27
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.
m = n = p
m = (n = p)
Uso de Paréntesis
2. RÍOS, María Fernanda Página 2
Los paréntesis se pueden usar para cambiar el orden usual de evaluación de una expresión determinada
por su prioridad y asociatividad. Las subexpresiones entre paréntesis se evalúan en primer lugar según el
modo estándar y los resultados se combinan para evaluar la expresión completa. Si los paréntesis están
«anidados» - es decir, un conjunto de paréntesis contenido en otro – se ejecutan en primer lugar los
paréntesis más internos.
(45 / (5 + 4)) * 10 - 6 * 3
(45 / (9)) * 10 - 18
(45 / 9) * 10 - 18
(45 / 9) * 10 - 18
(5) * 10 – 18
5 * 10 - 18
50 - 18
50 - 18
32
Operadores de Incrementación y Decrementación
De las muchas características de Java heredadas de C ++ y de C, una de las más útiles son los operadores
de incremento ++ y decremento --. Estos operadores, suman o restan 1 a su argumento, respectivamente,
cada vez que se aplican a una variable.
class Inc
{
public static void main (String [ ] arg)
{
int x = 125, y = 1078 ;
System.out.println (“x = ” + x + “y = ” + y) ;
++ x ;
-- y ;
System.out.println (“x = ” + x + “y = ” + y) ;
x ++ ;
y - - ;
System.out.println (“x = ” + x + “y = ” + y) ;
}
}
// devuelve como resultado
x = 125 y = 1078
x = 126 y = 1077
x = 127 y = 1076
Operadores relacionales
En Java, el tipo de datos boolean tiene dos valores: true y false. Una expresión booleana es por
consiguiente una secuencia de operandos y operadores que se combinan para producir uno de los valores.
Operadores tales como > = y == que comprueban una relación entre dos operandos se llaman operadores
relacionales.
Los operadores relacionales se usan normalmente en sentencias de selección (if) o de iteración (while,
for), que sirven para comprobar una condición. Utilizando operadores relacionales se realizan
operaciones de igualdad, desigualdad y diferencias relativas.
Cuando se utilizan los operadores relacionales en una expresión, la evaluación produce como resultado
true o false, dependiendo del resultado de la condición.
3. RÍOS, María Fernanda Página 3
Si, n = 4;
La expresión n > 15 produce el valor false.
Si nota = 10;
La expresión nota < 25 produce el valor true.
Java posee también operadores lógicos. Estos se utilizan con expresiones para devolver un valor
verdadero (true) o un valor falso (false). Los operadores lógicos se denominan también operadores
booleanos.
Los operadores lógicos de Java son:
not (!) produce falso si el operando es verdadero y viceversa.
and (&&) produce verdadero sólo si ambos operandos son verdadero, si cualquiera de los
operandos es falso, produce falso.
or (I I) produce verdadero si cualquiera de los operandos es verdadero y produce falso sólo si
ambos operandos son falsos
or exclusivo (^) produce verdadero si ambos operandos son distintos (verdadero-falso, falso-
verdadero) y produce falso sólo si ambos operandos son iguales (verdadero-verdadero, falso-
falso)
if ((sueldo > 10000) || (horas < 4500)
{
trabajo = 500000;
}
Evaluación en cortocircuito
Los operandos de la izquierda de && y I I se evalúan siempre en primer lugar; si el valor del operando de
la izquierda determina de forma inequívoca el valor de la expresión, el operando derecho no se evalúa.
Esta propiedad se denomina evaluación en cortocircuito y se debe a que si p es falso, la condición p &&
q es falsa, con independencia del valor de q, y de este modo Java no evalúa q. De modo similar, si p es
verdadera la condición p I I q es verdadera, con independencia del valor de q, y Java no evalúa q.
No se producirá un error de división por cero al valuar la condición
(a == 0)|| (y > 5.0/a)
Ya que si ‘a’ es 0, la primera expresión es verdadera y entonces no se evalúa la
segunda expresión.
Operador coma
Este operador permite combinar dos o más expresiones separadas por comas en una sola línea. Se evalúa
primero la expresión de la izquierda y luego las restantes expresiones de izquierda a derecha.
Se utiliza en algunas ocasiones en los bucles for para anidar expresiones.
for (a = 0, x < 100, y >= 50);
Operadores .,( ), [ ]
Java utiliza como operadores la selección de elementos de un objeto, la llamada a un método y el acceso
a un elemento de un array.
Operador . (punto)
4. RÍOS, María Fernanda Página 4
Este operador permite acceder a un miembro de un objeto, siempre que la visibilidad del miembro lo
permita.
java.util.Scanner
Operador ( )
Este operador es el de llamada a métodos. Sirve para encerrar los argumentos del método o función,
efectuar conversiones explícitas de tipo, indicar en el seno de una declaración que un identificador
corresponde a un método, resolver los conflictos de prioridad entre operadores.
for (a = 0, x < 100, y >= 50);
Operador [ ]
Sirve para dimensionar los arrays y designar un elemento de un array.
System.out.println(“v[5] = ” + v[5]);
Conversiones de tipos
Estas pueden ser implícitas (ejecutadas automáticamente) o explícitas (solicitadas específicamente por el
programador). Java en algunas circunstancias hace conversiones de tipos automáticamente:
• Java convierte valores cuando se asigna un valor de tipo numérico a una variable de otro tipo numérico
siempre que no haya pérdida de información.
• Java convierte valores cuando se combinan tipos mixtos en expresiones.
• Java convierte valores cuando se pasan argumentos a métodos siempre que no supongo pérdida de
precisión.
Conversión implícita
Los tipos fundamentales (básicos) pueden ser mezclados libremente mediante expresiones. Las
conversiones se ejecutan automáticamente: los operandos de tipo más bajo se convierten en los de tipo
más alto. En las asignaciones, la expresión a la derecha del operador = se convierte al tipo de la variable
de la izquierda siempre que ésta sea de un tipo más alto.
int x = 127;
double pi = 3.14159;
pi = pi + x;
Conversiones explícitas
Java fuerza la conversión explícita de tipos mediante el operador molde (cast). El operador molde (tipo)
tiene la misma prioridad que otros operadores unitarios tales como +, - y !
long m ;
int costo ;
costo = (int) 36.25 + (int) 34.30 ;
m = (long) 70.55;
Operador + con cadenas de caracteres
5. RÍOS, María Fernanda Página 5
Java ha redefinido el operador suma (+) para concatenar cadenas. Esta sobrecarga o redefinición del
operador + con cadenas permite conversiones automáticas de datos de tipo simple a cadena. Esta
propiedad se usa con mucha frecuencia para salida de datos con el método print ( ), o bien println ( ).
Ambos tienen como argumento una cadena, por tanto se puede hacer muy amigable la salida de datos de
tipo simple utilizando el operador + junto a una cadena.
double m ;
int edad = 9 ;
System.out.println (“Años transcurridos: ”+ edad +“ n Capital generado: ” +
m) ;
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 más alta se aplica primero.
• La asociatividad izquierda-derecha significa aplicar el operador más a la izquierda primero, y en la
asociatividad derecha-izquierda se aplica primero el operador más a la derecha.
• Los paréntesis tienen la máxima prioridad.