Widening primitive conversions do not lose information about the overall magnitude of a numeric value.
Indeed, conversions from an integral type to another integral type do not lose any information at all; the numeric value is preserved exactly.
however, an assignation to a float may lose information about the overall magnitude of the converted value in a non strctfp environment !
float and double are two special case.
You can read more about it, from this documentation
http://java.sun.com/docs/books/jls/third_edition/html/conversions.html