AjLearning
AjLearning 0.1    





Introducción a Java - Conversiones

Curso Introducción a Java

    Anterior     Siguiente

Ya sabemos que hay conversiones automáticas en operaciones enteras. Algo similar ocurre cuando operamos con reales, o reales y enteros en una misma expresión. Veamos
las reglas sobre operadores binarios.

Si uno de los dos operandos es un double, el otro se convierte a double antes de aplicar la operación.

Si uno de los dos operandos es un float, el otro se convierte a float al operar (esta regla se aplica si no hay double involucrado).

Si uno de los dos operandos en un long, el otro se promueve a long (si no hay double, o float en la expresión).

Si no es ninguno de esos casos, los operandos se promueven a enteros.

Hay situaciones donde no queremos usar estas reglas implícitas, porque necesitamos explícitamente especificar alguna conversión adecuada. Veamos:

int seis=6; int cuatro=4; double resultado = 2.5 + seis/cuatro; La variable resultado, es un real. Pero la evaluación es la siguiente:

Primero, se evalúa la división. Como los dos operandos son enteros, se efectúa una división de ese tipo, entre 6 y 4, resultando 1.

Luego, se suma a 2.5, dando que a la variable resultado se le asigna el valor 3.5.

En cambio, si convertimos a la variable seis, en un real, explícitamente:
double resultado = 2.5 + (double) seis/cuatro; ahora conseguimos como resultado el valor 4.0.

Programado por Angel J. Lopez www.ajlopez.com