如果我这样写可以么?

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

奚子辰爸爸

2018-04-21 18:41

public class HelloWorld{
    public static void main(String[] args) {
        double avg1=78.5;
        int rise=5;
        double avg2=rise+avg1;
        System.out.println("考试平均分:"+avg1);
        System.out.println("调整后的平均分:"+avg2);
    }
}

但 double 类型不能自动转换为 int 类型,怎么理解?

写回答 关注

3回答

  • agigia
    2018-05-19 13:48:54

    (左侧栏里有说。int转换成double是自动类型转换,将double转换成int才是强制类型转换)

    2.  目标类型大于源类型,如 double 类型长度为 8 字节, int 类型为 4 字节,因此 double 类型的变量里直接可以存放 int 类型的数据,但反过来就不可以了

  • qq_霍格沃茨_0
    2018-04-21 20:51:42

    int类型字节比double少,这个时候只能强制类型转换

    public class HelloWorld{
        public static void main(String[] args) {
            double avg1=78.5;
            int rise=5;
            double avg2=(double)rise+avg1;//不同的地方在这一行
            System.out.println("考试平均分:"+avg1);
            System.out.println("调整后的平均分:"+avg2);
        }
    }


  • qq_霍格沃茨_0
    2018-04-21 20:51:05

    int类型字节比double少,这个时候只能强制类型转换

    public class HelloWorld{
        public static void main(String[] args) {
            double avg1=78.5;
            int rise=5;
            double avg2=(double)rise+avg1;
            System.out.println("考试平均分:"+avg1);
            System.out.println("调整后的平均分:"+avg2);
        }
    }


    奚子辰爸爸

    谢谢大哥!强制类转换后面看到了!

    2018-04-22 15:29:46

    共 1 条回复 >

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

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

1165172 学习 · 17581 问题

查看课程

相似问题