2009-02-23 16 views
9

¿Alguien puede decir lo que es la promoción numérica?¿Qué es la promoción numérica?

+0

[Capítulo 5. Las conversiones y Promociones] (http://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html) Realmente podrías haber buscado en Google eso ... – sleske

Respuesta

17

promoción numérica es la conversión de un tipo numérico más pequeño para un tipo numérico más grande, por lo que las operaciones de enteros y de coma flotante pueden tener lugar. En la promoción numérica, los valores byte, char y short se convierten en valores int. Los valores int también se convierten en valores largos, si es necesario. Los valores largo y flotante se convierten en valores dobles, según sea necesario.

0

If you look here, verá la siguiente cita:

promoción numérica (§5.6) trae las operandos de un operador numérico a un tipo común de manera que una operación puede ser realizada .

Son referencing this section, donde ofrecen una variedad de ejemplos. El ejemplo clásico es el de un int veces un float. El entero se promueve a un valor flotante, de modo que el resultado multiplicado es, por lo tanto, un flotante.

1

promoción numérica es una conversión de un operando (al menos uno de los números implicados) a un tipo común.

Por ejemplo:

int i = 10; 
double d1 = 2.5; 
double d2 = d1 * i; 

En este caso, i es promovido a duplicar lo que el cálculo se puede realizar. De alguna manera, puedes pensar que esto es análogo al boxeo, pero el boxeo implica pasar de una estructura a un objeto (de la pila al montón). Pero, usando la analogía da una idea del hecho de que el valor integral se está convirtiendo en un punto flotante para realizar el cálculo.

1

Reglas de la promoción numérico

  1. Si dos valores tienen diferentes tipos de datos, Java promoverá automáticamente uno de los valores al mayor de los dos tipos de datos.

  2. Si uno de los valores es integral y el otro es de coma flotante, Java promocionará automáticamente el valor integral al tipo de datos del valor de coma flotante.

  3. Los tipos de datos más pequeños, a saber, byte, short y char, se promocionan primero a int cada vez que se utilizan con un operador aritmético binario Java, incluso si ninguno de los operandos es int.

  4. Después se ha producido toda la promoción y los operandos tienen el mismo tipo de datos, el valor resultante tendrá el mismo tipo de datos como sus operandos promovidas