double的问题

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

无悔欲

2015-08-20 18:31

double avg1=78.5;

int rise=5;

double avg2=avg1+rise;

  我想问一下 double 和int自动型转化的关   :是否只能int转化为double型 反过来double型一定不能转化为int型。  这样理解对吗?  还是double行也可以转化为int行    只不过要满足int的字节数必须大于double?

坐等大神回答! 新手疑问比较多 勿喷!!

2 如果是只能int转化为double 是否必须满足目标类型大于源类型?

写回答 关注

1回答

  • 卓戈卡奥
    2015-08-20 19:01:12
    已采纳
    • double型可以通过强制类型转换而转换为int型变量,但是因为double本身有8个字节的长度,而int只有4个字节,所以会造成高位字节的丢失。比如:

            double avg1=78.5;
            int avg2=(int)avg1;
            System.out.println(avg2);

           会输出78,后面的0.5就被丢失了。

    • 不是很明白你的这句话:

        目标类型大于源类型

            这里的大于应该理解成存储的字节长度吗?如果是,那么目标是不发生数据丢失的情况的话目标类型的确应该大于源类型

    无悔欲

    谢啦!!

    2015-08-20 23:59:37

    共 1 条回复 >

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

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

1167707 学习 · 18749 问题

查看课程

相似问题