lottazw
2016-02-19 09:53
例如
int a=3;
int b=4;
int sum=a+b;
double avg1=sum/3;
float avg2=sum/3f;
个人感觉是精度不同吧,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
double用来定义整数,float用于定义浮点数,就是带小数点的数。sum/3=2.3333333,所以第一个算式保存为整数会截去小数部分,结果为2,第二个算式结果为2.3333333,默认保存七位小数
百度到的:对编程人员来说,double 和 float 的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,java语言中数学函数名称double 和 float不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)。
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题