问答详情
源自:2-9 Java中的自动类型转换

谁帮我解答一下,谢谢咯

把double avg1=78.5;   改成     float avg1=78.5f;  在编译器中能行吗?

提问者:冰糖草莓 2017-08-24 16:38

个回答

  • leowei
    2017-08-27 20:58:19

    这不是强制类型转换,四个回答都错了

    float avg1=78.5f;  这个直接告诉java 开辟这个大的空间 来存储 78.5 这个数!

    这是开发者的思路


    double avg1=78.5;

    float avg2=(float)avg1;   这才是强制类型转换! 

  • qq_叫我小可爱_0
    2017-08-24 16:54:23

    这是类型转换,double的优先级要高于float,这个属于强制类型转换,可以转,但是可能会丢失数据

  • 慕用635445
    2017-08-24 16:53:53

    就78.5而言 运行结果是一样的。因为精度不同 。

  • 赵树豪
    2017-08-24 16:53:48

    可行,但是丢失精度,因为double比float分配的字节空间大

  • Lei_Win
    2017-08-24 16:53:29

    可以,属于强制转换