in java why float we has to be type cast i.e. float a = (float)2.3; and and if 2.3 is consider as double then why there is a need for that ???