为什么35/4=8 这是为啥??
如果这就是计算机算的 真实有点让人无法接受 平白无故的就把3吃了 哎 感觉整个人都不好了
所以整型在实际中运用 的比较少对不对???!
如果这就是计算机算的 真实有点让人无法接受 平白无故的就把3吃了 哎 感觉整个人都不好了
所以整型在实际中运用 的比较少对不对???!
2019-01-15
Java赋值运算中按int类型进行计算,int为4字节00000000 00000000 00000000 00000000,而double为8字节,整型中没有存储小数的位置,所以运算结果也直接取整。
Java中“=”为赋值的意思,35/8是将运算后的整型数值4赋值给num,而num为double型,所以会再将4以double型输出,结果为4.0
long num2=1000000*1000000*1000;中输出结果为-1530494976,就是因为Java在做赋值运算时都按int类型进行计算,1000000*1000000已经超出了int的最大值,int类型计算结果超过最大值后会直接跳到最小值不断循环,直到计算出最终结果,所以要想输出算数的正确结果就应该先对其进行强转:
long num2=(long)1000000*1000000*1000;
举报