第3个回答 2018-03-02
1.存在自动类型转换和强制转换的问题:
当把一个表数范围小的数值或者变量直接赋值给另一个表数值范围大的变量时,可以进行自动类型转换,反之要进行强制转换。
表述范围从小到大排序:byte,short,int,long,float,double.
以上从左到右可以自动转换,从右到左必须强制转换。
2.默认情况下整数为int,浮点数为double。
因此float a=1自动转换,不报错;
float a=1.0报错,需要强制转换,可改为float a=(float)1.0;
或者写成float a=1.0f,系统会自动分配一个四位空间而不是八位,给出一个float类型的a而不需要进行强制转换。