除以两个 'int' 数字时 'double' 答案不正确

Incorrect 'double' answer when dividing two 'int' number

我是 Java 的新手,正在尝试学习 int 和 double 的基本概念。有人可以告诉我,当我 运行 程序时,为什么打印出 0.0 而不是 0.3333333?

    int i = 1;
    int j = 3;
    double k = i / j;
    System.out.println(k);

因为您正在进行整数除法,这会将结果截断为整数。

您需要将其中一个转换为双精度。

double k = i / (double)j;

改变

double k = i / j;

double k = (double)i / (double)j;

您需要先将其中一个操作数强制转换double,然后再将它们相除。

您不能将两个整数相除并期望得到一个双精度值。

将它们声明为 doubles 以开始或转换它们。

double k = (double)i / (double)j
//or
double i = 1;
double j = 3;
double k = i / j;