[DOUBT]Implicit Conversion

byte = 10; Compiler implicitly convert from integer literals to byte but
float f = 5.5; Here why 5.5 is not implicitly converted to double?