You are on page 1of 20

Programacin I Ing.

Elctrica y Electrnica

Unidad Operadores y expresiones

Profesor

Ing. Orlando Barcia Ayala

Website: www.orlandobarcia.com E-mail: obarcia@orlandobarcia.com

Cursos online: www.orlandobarcia.com/cursos Foro online: www.ingenieroweb.com

AGENDA

Operadores
Los operadores realizan algunas funciones en uno o dos operandos.

Operadores Aritmticos
Operador
+ * /

Uso
op1 + op2 op1 - op2 op1 * op2 op1 / op2

Descripcin
Suma op1 y op2 Resta op2 de op1 Multiplica op1 y op2 Divide op1 por op2 Obtiene el resto de dividir op1 por op2

op1 % op2

Div El cociente de la divisin entera. En java es / siempre y cuando los operadores sean enteros (int) Mod En algoritmos se utiliza el residuo de la divisin entera mod En java es %

Operaciones unarias de + y Operador Uso Descripcin

+ op

Indica un valor positivo

- op

Niega el operando

Atajos aritmticos
Operador Uso Descripcin

++

op ++

Incrementa op en 1; evala el valor antes de incrementar Incrementa op en 1; evala el valor despus de incrementar Decrementa op en 1; evala el valor antes de decrementar Decrementa op en 1; evala el valor despus de decrementar

++

++ op

--

op --

--

-- op

Operadores de Asignacin
Operador += Uso op1 += op2 Equivale a op1 = op1 + op2

-= *= /=
%= &= |= ^=

op1 -= op2 op1 *= op2 op1 /= op2


op1 %= op2 op1 &= op2 op1 |= op2 op1 ^= op2

op1 = op1 - op2 op1 = op1 * op2 op1 = op1 / op2


op1 = op1 % op2 op1 = op1 & op2 op1 = op1 | op2 op1 = op1 ^ op2

Operadores lgicos
Operador And Or Negado cdigo && || !

El operador & se puede utilizar como un sinnimo de && si ambos operadores son booleanos. Similarmente, | es un sinonimo de || si ambos operandos son booleanos

Operaciones relacionales y condicionales


Operador > >= < <= Uso op1 > op2 op1 >= op2 op1 < op2 op1 <= op2 Devuelve true si op1 es mayor que op2 op1 es mayor o igual que op2 op1 es menor que op2 op1 es menor o igual que op2

==
!=

op1 == op2
op1 != op2

op1 y op2 son iguales


op1 y op2 son distintos

Una operacin relacional, da como resultado un valor lgico

Entre tantos operadores, cuales se realizaran primero?


Precedencia

Precedencia de operadores en Java


operadores sufijo operadores unarios [] . (params) expr++ expr-++expr --expr +expr -expr ~ !

creacin o tipo
multiplicadores suma/resta desplazamiento

new (type)expr
*/% +<< >> >>>

relacionales
igualdad bitwise AND bitwise exclusive OR

< > <= >= instanceof


== != & ^

bitwise inclusive OR
AND lgico OR lgico condicional asignacin

|
&& || ?: = += -= *= /= %= ^= &= |= <<= >>= >>>=

Ejemplo: Crear las variables a, b y c de tipo int y realizar un programa que utilice +,-, *, /, % int a, b,c; a=8; b=3; c=a+b System.out.println(el valor es + c); System.out.println(otra forma es + a+b); Realicen -, *, /, %

Cuidado. System.out.println(otra forma es + a+b); Muestra 5 2 El problema es que println el + lo toma como concatenacin. Solucin: + (a+b);

A siempre aumentar en 1, en este caso 3 El que hay que tener en cuenta es la asignacin.

Ejm: a=8; b=12; System.out.println(a > b);

Probar con los dems operadores relacionales. <, !=

Realice un programa que cree 4 variables lgicas, se le asigne a dos variables un valor lgico . muestre el valor de las operaciones and y or, asigne cada resultado a las variables no utilizadas. Muestre la negacin de una de las variables.

opcional

Est primero es antes ++ op ++ Incrementa op en 1; evala el valor antes de incrementar ++ Est despus despus ++ op Incrementa op en 1; evala el valor despus de incrementar

Ejm: a=2; c=a++; System.out.println(c es + c + y a es +a); a=2 c=++a; System.out.println(c 2 es +c+ y a es + a);

c=2, a=3

c=3, a=3