14 de septiembre de 2018

Operadores de comparación

En esta entrada vamos a ver los operadores de comparación que usaremos para comparar valores. Vamos a emplearlos con decimales para empezar a usarlos y de paso veremos los errores de redondeos que no vimos en los operadores numéricos.

NOTA: En este punto nos vamos a desviar del índice del libro que sirve de guía. En Think Java el orden es ver la entrada de teclado, métodos sin retorno, condicionales y lógica, métodos con retorno y bucles. Yo prefiero el orden que he marcado en la programación del curso para tener todos los operadores juntos y terminar este parte con la entrada de teclado y poder hacer un programita chulo al final para verlo todo junto. Simplemente advertir que hasta que lleguemos a Arrays no vamos a seguir el orden del libro.

Ya hemos visto y usado el operador de asignación y los operadores numéricos habituales. Los operadores de comparación en Java son:
  1. Menor que: <
  2. Mayor que: >
  3. Menor o igual que: <=
  4. Mayor o igual que: >=
  5. Igual que: ==
  6. Distinto que: !=

Todos ellos operadores binarios y con sus operandos formarán una expresión que devolverá un valor de tipo boolean. Este tipo boolean sólo tiene dos valores posibles: verdadero o falso (true o false). Es la base para trabajar con condiciones que veremos en su sesión correspondiente.

Los operadores de comparación son binarios y devuelven un valor de tipo boolean (verdadero o falso)


Con este código vamos a tener un ejemplo de cada uno y podéis seguirlo en el vídeo:
float a = 2.1f;
double b = 3.9;

System.out.println(a + " < " + b + " : " + (a < b));
System.out.println(a + " > " + b + " : " + (a > b));
System.out.println(a + " <= " + b + " : " + (a <= b));
System.out.println(a + " >= " + b + " : " + (a >= b));
System.out.println(a + " == " + b + " : " + (a == b));
System.out.println(a + " != " + b + " : " + (a != b));
Su salida es:

2.1 < 3.9 : true
2.1 > 3.9 : false
2.1 <= 3.9 : true
2.1 >= 3.9 : false
2.1 == 3.9 : false
2.1 != 3.9 : true

Incluso si prefiris leer el blog a ver un vídeo, os aconsejo ver la demostración de los errores de redondeos y la comparación entre tipos decimales distintos. Esta demostración se aprecia mejor en vivo y no la he escrito en esta entrada.

Debemos tener especial cuidado cuando comparemos valores numéricos de distinto tipo debido al redondeo


Hay que tener en cuenta que estos operadores funcionan con valores numéricos pero no con todos los tipos que hemos visto hasta ahora (por ejemplo no podemos ver si un String es mayor que otro, pero sí podemos ver si es el mismo)

NOTA: Si quieres leer más sobre la compatibilidad entre tipos como en el ejemplo del vídeo entre int y double, puedes ver todas las conversiones que contempla la especificación de Java.

No hay comentarios:

Publicar un comentario

Compárteme

Entradas populares