为什么这里一定要用double而不可以用float呢?

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

qq_此时此刻的云_04233231

2016-11-08 09:04

public class HelloWorld{

    public static void main(String[] args) {

        float  avg1=78.5;

byte rise=5;

   float avg2=avg1+rise;

System.out.println("考试平均分:"+avg1);

System.out.println("调整后的平均分:"+avg2);

}

}


写回答 关注

5回答

  • 慕先生8753438
    2017-01-02 16:37:28

    Java中的小数默认为double类型(8字节,占内存64位),而float类型(4字节32位),位数多的向位数少的转换时系统会报错。定义float类型变量时,初始赋值为小数时,必须遵循以下句法 float name=value or float name=(float)value,此处的name是变量名,value是一个小数;而如果value是一个整数的话,则java默认为int类型(4字节32位),int类型可以自动向float类型转换,如执行下面这个语句时系统是不会报错的float length=16;System.out.println(length);//输出结果为16.0。为了避免定义float类型变量时出现数据类型转换时不兼容的问题,建议采用float name=valuef;

    希望你能采纳我的回答*-*

  • 慕桂英6894770
    2016-11-15 21:29:00

    +1,上上一楼说的没错,一看就是有点基础的

  • 小毛3163718
    2016-11-08 16:48:08

    楼上说的没错!

  • 宝慕林2462168
    2016-11-08 10:37:07

    78.5在没加f的状态在都是double类型的 double类型比float大不兼容!所以错!


  • 萌萌哒373748
    2016-11-08 09:38:55

    float好像是浮点型的哦。

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

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

1165168 学习 · 17581 问题

查看课程

相似问题