为了账号安全,请及时绑定邮箱和手机立即绑定

括号里的int啥么意思?double avg=(int)sum/4;

public class HelloWorld{

    public static void main(String[] args) {

int age1=24;

int age2=18;

int age3=36;

int age4=27;

int sum=age1+age2+age3+age4;

double avg=(int)sum/4;###################### 括号里面不是那个强制转换么?sum本来不就是整型了吗?为啥还要强制转换下?

int minus=age1-age2;

int newAge=--age1;

   System.out.println("年龄总和:"+sum);

    System.out.println("平均年龄:"+avg);

System.out.println("年龄差值:"+minus);

System.out.println("自减后的年龄:"+newAge);


}


正在回答

4 回答

http://img1.sycdn.imooc.com//580ae1ee00013c2204540298.jpg希望有所帮助

1 回复 有任何疑惑可以回复我~
#1

宁馨儿2 提问者

非常感谢!
2016-10-22 回复 有任何疑惑可以回复我~

double avg=(int)sum/4   看一下前面是什么?是double啊,双精度浮点型,比int大的,向下计算损失精度,当然需要强制了。

1 回复 有任何疑惑可以回复我~
#1

宁馨儿2 提问者

这个sum上一句中不是定了是整型了么?(int)意思难道不是把sum转换成int? 这句为啥不能写成double avg=(double)sum/4?
2016-10-21 回复 有任何疑惑可以回复我~
#2

慕粉1472103166 回复 宁馨儿2 提问者

我这新手都被你搞晕了,你为什么要强制转换呢。既然求平均值当然是双精度的好了。
2016-10-21 回复 有任何疑惑可以回复我~

强制转换为int类型

1 回复 有任何疑惑可以回复我~

强制转换为整型

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

括号里的int啥么意思?double avg=(int)sum/4;

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信