float avg=(float)sum/4.0错在哪?

来源:3-2 Java中的算术运算符

KAZUSA

2019-10-30 09:13

float avg=(float)sum/4可以正确运行。变成4.0为什么又不行了。个人理解sum先被强转换成float,后面/4.0又变成double,double>float,所以错了?

写回答 关注

5回答

  • 慕无忌0376321
    2020-03-02 15:37:45

    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;//四个人总和

    //类型的默认转换是byte,short,char -- int -- long -- float -- double 

    //float>int所以不用强制转换

    float avg = sum/4;//四个人的总和÷4,求平均值

    int minus = age1-age2;//age1,age2的差值

    int newAge = --age1;//因为要表达newAge的自减1所以:--x(要放后面)

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

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

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

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

    }

    }

    /*

    有什么不懂得可以问我,我要是不懂相互讨论哈

    */

  • 小颖April
    2020-02-15 15:22:15

    float avg=(float)(sum/4);

  • 赵志明
    2020-02-10 10:38:57

    float avg =(float)(sum/4);             就好了。

  • 慕后端4477088
    2019-11-13 15:28:29

    不用强制转换 直接定义为float就行

  • qq_慕数据8575867
    2019-10-30 12:38:50

    float avg=(float)sum/4.0f;


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

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

1165172 学习 · 17581 问题

查看课程

相似问题