为了账号安全,请及时绑定邮箱和手机立即绑定

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

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 回答

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;

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

楼上说的没错!

0 回复 有任何疑惑可以回复我~

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


1 回复 有任何疑惑可以回复我~

float好像是浮点型的哦。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信