java中2/4 = 0.0?

Chr*_*ler -4 java math double integer

可能重复:
为什么两个整数的除法在Java中返回0.0?

我有一些非常令人困惑的问题..我想计算一些东西,经过一些调试后我看到java计算这个算术:2/4 = 0.0但它应该是0.5

2和4存储在整数变量中,结果存储在double类型中.

我清楚地错过了什么吗?

kos*_*osa 6

这是因为整数除法(整数除法向0舍入).将其中一个操作数转换为double类型.

例:

double temp = (double)2/4

会给你正确的结果.