int可以转为float吗

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

慕数据6005589

2018-06-18 12:06

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就可以

写回答 关注

1回答

  • 慕田峪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;这样就可以了

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


    人称大帅逼 回复慕数据600...

    如果要定义 78.5 为 float 类型,那么在78.5后面就要加一个f,或者在78.5前面加上(float)。如果不声明,默认小数为double类型,所以如果要用float的话,必须进行强转。例如:float a=1.3; 会编译报错,正确的写法 float a = (float)1.3;或者float a = 1.3f;

    2018-09-01 22:50:08

    共 8 条回复 >

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

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

1165171 学习 · 17581 问题

查看课程

相似问题