qq_孙宁_0
2016-03-22 09:44
1)int a=4;
float b=(float)a/4;为什么不对?a/4的结果什么时候强制转换/
2)float 与double有什么根本的区别吗?
b = (float)a/4其实是把int型的a先转换成float,再除以4,此时结果是b = 1.000000;
自动转化类型有很多情况,b =a/4.0时就会自动把b的值变为浮点型,还有是调用某些东西时自动转化
第一个运算结果是正确的,一般我会直接使用float b = a/4.0;
第二个float是单精度浮点型,有效数位8位,占4个字节,double是双精度浮点型,有小数位16位,占8个字节。
Java入门第一季(IDEA工具)升级版
1165171 学习 · 17581 问题
相似问题