= { ... }

martes, marzo 20, 2007

Promoción aritmética

Qué pasa con los variables de tipos primitivos distintos cuando se operan mediante un operador binario? Promoción aritmética.

La promoción aritmética sigue estos pasos:

  1. if (alguno de los operandos es de tipo double){
  2. convertir el otro a tipo double
  3. }else if(alguno de los operandos es de tipo float){
  4. convertir el otro a tipo float
  5. }else if(alguno de los operandos es de tipo long){
  6. convertir el otro a tipo long
  7. }else{
  8. convertir el otro a tipo int
  9. }


Se puede observar que todo operador binario para tipos primitivos convertirá automáticamente a los operandos por lo menos a int.

  1. short s = 10;
  2. byte b = 9;
  3. int c = s + b;


Parece una chorrada, pero saberlo nos permite anticipar el tipo que se devolverá al operar dos variables. Así no tendremos que esperar a que eclipse nos indique que hay un error en una maldita suma de dos variables.

newuni @ delicious