double svg = (double)sum/4;
和
double svg = sum/4; 为何输出不一样呢?
Double 可以为空 double 不可以。
研究一下 显式转换 和 隐式转换?
这个得看程序的上下文了。
如果是int sum=10;那么第一种情况会得到2.5;第二种情况会得到2;
如果是double sum=10.0D;那么两种情况一样的2.5
double svg = (double)sum/4;强制类型转换只对紧跟其后的变量有效,这里sum变成double型,double型与int型运算得到double型。
double svg = sum/4;这里sum和4都是int型,运算得到当然是int型,在赋值的时候强转成了都double型。