永发信息网

double w=(double)q/5 要是变成double w=(double)(q/5)之后,为什么本来输出2.4改了之后输出变成2.0呢?

答案:1  悬赏:0  手机版
解决时间 2021-04-02 11:59
double w=(double)q/5 要是变成double w=(double)(q/5)之后,为什么本来输出2.4改了之后输出变成2.0呢?
最佳答案
// (double)q / 5; 强制类型转换的对象是q
// 将q强制转换成double类型,再除以5
double w = (double)q/5;

// (double) (q/5); 强制类型转换的对象是q/5后的结果
// q除以5后,再将结果转换成double类型
double w=(double)(q/5)追问double (2.4)=2.0 你的意思是这样吗? 但是为什么那?追答除法运算符“/”:
第一种:当参与运算的值均为整型时,结果为整型,舍去小数(不是四舍五入,而是直接舍弃小数部分)。
第二种:如果运算量中有一个为float或double型,结果都为double。


而你的程序中,q是int类型的12,5也是int类型的,所以区别如下:
1、(double)(q/5):(第一种)先算q/5等于2,然后结果2被强制转换类型为double,所以w=2.0
2、(double)q/5:(第二种)先将q强制转换类型为double,相当于12.0/5等于2.4,所以w=2.4
你可以尝试一下:

System.out.println(3/2); //输出结果是1
System.out.println(3/2.0); //输出结果是1.5
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
2016年钢筋清包工的价格
桐乡高铁车站有没有直达重庆的列车
草泥玛是骂人的还是指神兽
油博士多少钱一台
孙立荣的个人履历
塔吊报废年限
51人品和优粉吧有合作过吗
求一首泰国歌曲歌名
六百乘四十分之二十三计算过程
无意拍死虫子结果脸上起了好多小泡泡,会是什
如果X比五分之四=0.15比2.5,那么X=多少
梁一贞那首歌最好听 ?
你到现在,做得让自己感到最骄傲的事是什么?
薄字怎么写
工商银行ICBC是爱存不存,其他银行呢?
推荐资讯
c语言中如何运用指针将4*4数组的每一个元素顺
飞碟什么时候开始出现的,第一例飞碟事件的分
以暖开头的词语
24v100w的灯,用多大的保险丝?
平安银行万事达金卡 大概额度多少
色达和九寨沟现在去,去哪个比较好
荣成市基督教培训中心地址有知道的么?有点事
腊肠和腊肉的热量是多少?
油耗6.9l/100km是几毛
教案 找标志(社会·中班)
农业生产上造成葵花籽粒空瘪现象的主要原因是
粤语不开口歌词是什么歌
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?