问答详情
源自:3-2 Java中的算术运算符

Double不double有啥区别

double svg = (double)sum/4;

double svg = sum/4; 为何输出不一样呢?


提问者:自由男神 2014-12-22 13:38

个回答

  • 去打熊
    2014-12-24 18:13:30

    Double 可以为空 double  不可以。

    研究一下 显式转换 和 隐式转换?

  • honpery
    2014-12-22 23:11:05

    这个得看程序的上下文了。

    如果是int sum=10;那么第一种情况会得到2.5;第二种情况会得到2;

    如果是double sum=10.0D;那么两种情况一样的2.5

  • 仗剑闯江湖
    2014-12-22 14:13:35

    double svg = (double)sum/4;强制类型转换只对紧跟其后的变量有效,这里sum变成double型,double型与int型运算得到double型。

    double svg = sum/4;这里sum和4都是int型,运算得到当然是int型,在赋值的时候强转成了都double型。