double与float有什么区别,下面代码的输出结果分别是什么?

来源:2-6 Java中的数据类型

lottazw

2016-02-19 09:53

例如

int a=3;

int b=4;

int sum=a+b;

double avg1=sum/3;

float  avg2=sum/3f;

写回答 关注

3回答

  • zler90
    2016-02-19 10:32:32
    已采纳

    个人感觉是精度不同吧,double可精确到16位,float精确到7位。例如,当你所得结果a小数后只有两位时,double a与float a结果应该没区别;但如果所得结果a为8位或更多时,结果就应该不同。本题运行的结果是avg1=2.0,avg2=2.3333333,题主应该将double avg1=sum/3改为double avg1=sum/3.0

    lottaz...

    非常感谢!

    2016-02-19 10:34:30

    共 1 条回复 >

  • 武大神
    2016-02-19 10:25:52

    double用来定义整数,float用于定义浮点数,就是带小数点的数。sum/3=2.3333333,所以第一个算式保存为整数会截去小数部分,结果为2,第二个算式结果为2.3333333,默认保存七位小数

  • Asukas
    2016-02-19 10:19:32

    百度到的:对编程人员来说,double 和 float 的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,java语言中数学函数名称double 和 float不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)。   

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

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

1165172 学习 · 17581 问题

查看课程

相似问题