int n=10的sizeof 为什么是四_为什么float后面要加f
去年面试,笔试时有一道题是:
问题:float f=3.4;是否正确?
我当时真是想都没想就填了个正确。结果就是基础都不过关了。(我还深深地记得上大学时,教我的java老师特意在课上说过这个问题,忘得一干二净)
对于我们码农来说,真的是万事都是增删改查,都习以为常了,而java中的一些小细节可能我们都把他们忘记了,今天我就帮大家拾起java中冰山一角的float吧。
float:浮点型数据类型,用于存储单精度浮点数或双精度浮点数
在编译器中直接写 float a= 3.4;
不正确写法
不正确写法直接就报错了,(我想说这个问题真的很明显,可是吧真的给忽略了)
说到这里,大家也知道答案了,肯定是不正确了。
原因:编译器可以自动向上转型,如int 转成 long 系统自动转换没有问题,因为后者精度更高
double 转成 float 就不能自动做了,所以后面的加上个 f;也就是说必须写成float f=(float)3.4 或float f = 3.4f
正确写法
正确写法记住这一点:在java里面,没小数点的默认是int,有小数点的默认是 double
去年面试,笔试时有一道题是: 问题:float f=3.4;是否正确? 我当时真是想都没想就填了个正确。结果就是基础都不过关了。(我还深深地记得上大学时,教我的java老师特意在课上说过这个问题,忘得一干二净) 对于我们码农来说,真的是万事都是增删改查,都习以为常了,而java中的一些小细节可能我们都把他们忘记了,今天我就帮大家拾起java中冰山一角的float吧。 float:浮点型数据类型,用于存储单精度浮点数或双精度浮点数 在编译器中直接写 float a= 3.4; 不正确写法 直接就报错了,(我想说这个问题真的很明显,可是吧真的给忽略了) 说到这里,大家也知道答案了,肯定是不正确了。 原因:编译器可以自动向上转型,如int 转成 long 系统自动转换没有问题,因为后者精度更高 double 转成 float 就不能自动做了,所以后面的加上个 f;也就是说必须写成float f=(float)3.4 或float f = 3.4f 正确写法 记住这一点:在java里面,没小数点的默认是int,有小数点的默认是 double下一篇:
【精品】k8s的Ingress通俗讲解