问答详情
源自:2-9 Java中的自动类型转换

int可以转为float吗

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

为啥这样就报错 但是把第五行float改成double就可以

提问者:慕数据6005589 2018-06-18 12:06

个回答

  • 慕田峪9401090
    2018-06-18 14:38:33
    已采纳

    float4个字节

    double8个字节

     float avg2=avg1+rise;中avg1是double

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

    float avg2=(float)avg1+rise;这样就可以了

    另外,兄弟你数数你的大括号是成对的吗?