谁帮我解答一下,谢谢咯

来源:2-9 Java中的自动类型转换

冰糖草莓

2017-08-24 16:38

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

写回答 关注

5回答

  • 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

    可以,属于强制转换

    leowei

    这不是强制类型转换,四个回答都错了 float avg1=78.5f; 这个直接告诉java 开辟这个大的空间 来存储 78.5 这个数! 这是开发者的思路 double avg1=78.5; float avg2=(float)avg1; 这才是强制类型转换!

    2017-08-27 20:59:21

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165550 学习 · 17586 问题

查看课程

相似问题