Operadores

Operadores.

Operaciones matemáticas básicas.

Hay varias operaciones matemáticas que son frecuentes. Veremos cómo expresarlas en Java, y también veremos otras operaciones "menos frecuentes".

Las que más encontramos normalmente son:

 

Operación matemática

Símbolo correspondiente

Suma

+

Resta

-

Multiplicación

*

División

/

Hemos visto un ejemplo de cómo calcular la suma de dos números; las otras operaciones se emplearían de forma similar.

Otras operaciones matemáticas menos habituales.

Esas son las operaciones que todo el mundo conoce, aunque no haya manejado ordenadores. Pero hay otras operaciones que son frecuentes en informática y no tanto para quien no ha manejado ordenadores, pero que aun así deberíamos ver:

 

Operación

Símbolo

Resto de la división

%

Desplazamiento de bits a la derecha

>>

Desplazamiento de bits a la derecha

<<

Desplazamiento rellenando con ceros

>>>

Producto lógico (and)

&

Suma lógica (or)

|

Suma exclusiva (xor)

^

Complemento

~

El resto de la división tambiés es una operación conocida. Por ejemplo, si dividimos 14 entre 3 obtenemos 4 como cociente y 2 como resto, de modo que el resultado de  10 % 3  sería 2.

Las operaciones a nivel de bits deberían ser habituales para los estudiantes de informática, pero quizás no tanto para quien no haya trabajado con el sistema binario. No entraré por ahora en más detalles, salvo poner un par de ejemplos para quien necesite emplear estas operaciones: para desplazar los bits de "a" dos posiciones hacia la izquierda, usaríamos  b << 2; para invertir los bits de "c" (complemento) usaríamos ~c;  para hacer una suma lógica de los bits de "d" y "f" sería  d | f.

Incremento y asignaciones abreviadas.

Hay varias operaciones muy habituales , que tienen una sintaxis abreviada en Java.

Por ejemplo, para sumar 2 a una variable "a", la forma "normal" de conseguirlo sería:

a = a + 2;

pero existe una forma abreviada en Java:

a += 2;

Al igual que tenemos el operador += para aumentar el valor de una variable, tenemos -= para disminuirlo, /= para dividirla entre un cierto número, *= para multiplicarla por un número, y así sucesivamente.  Por ejemplo, para multiplicar por 10 el valor de la variable "b" haríamos

b *= 10;

También podemos aumentar o disminuir en una unidad el valor de una variable, empleando los operadores de "incremento" (++) y de "decremento" (--). Así, para sumar 1 al valor de "a", podemos emplear cualquiera de estas tres formas:

a = a +1;
a += 1;
a++;

Los operadores de incremento y de decremento se pueden escribir antes o después de la variable. Así, es lo mismo escribir estas dos líneas:

a++;
++a;

Pero hay una diferencia si ese valor se asigna a otra variable "al mismo tiempo" que se incrementa/decrementa:

int c = 5;
int b = c++;

da como resultado c = 6 y b = 5 (se asigna el valor a "b" antes de incrementar "c") mientras que

int c = 5;
int b = ++c;

da como resultado c = 6 y b = 6 (se asigna el valor a "b" después de incrementar "c").  

Operadores relacionales.

También podremos comprobar si entre dos números (o entre dos variables) existe una cierta relación del tipo "¿es a mayor que b?" o "¿tiene a el mismo valor que b?". Los operadores que utilizaremos para ello son:

 
 

Operación

Símbolo

Mayor que

>

Mayor o igual que

>=

Menor que

<

Menor o igual que

<=

Igual que

== (dos símbolos de "igual")

Distinto de

!=

Así, por ejemplo, para ver si el valor de una variable "b" es distinto de 5, escribiríamos algo parecido (veremos la sintaxis correcta un poco más adelante) a

    SI  b != 5 ENTONCES ...

o para ver si la variable "a" vale 70, sería algo como (nuevamente, veremos la sintaxis correcta un poco más adelante)

    SI  a == 70 ENTONCES ...
 

Es muy importante recordar esta diferencia: para asignar un valor a una variable se emplea un único signo de igual, mientras que para comparar si una variable es igual a otra (o a un cierto valor) se emplean dos signos de igual.

Operadores lógicos.

Podremos enlazar varias condiciones, para indicar qué hacer cuando se cumplan ambas, o sólo una de ellas, o cuando una no se cumpla. Los operadores que nos permitirán enlazar condiciones son:

 

Operación

Símbolo

Y

&&

O

||

No

!

Por ejemplo, la forma de decir "si a vale 3 y b es mayor que 5, o bien a vale 7 y b no es menor que 4" en una sintaxis parecida a la de Java (aunque todavía no es la correcta) sería:

    SI (a==3 && bb>5) || (a==7  && ! (b<4))
 
 Regresar.