我是Java新手,正在尝试学习int和double的基本概念。有人能告诉我,当我运行该程序时,为什么0.0打印出来而不是0.3333333?
int i = 1;
int j = 3;
double k = i / j;
System.out.println(k);
答案 0 :(得分:3)
因为你正在进行整数除法,它会将结果截断为整数。
您需要将其中任何一个转换为双倍。
double k = i / (double)j;
答案 1 :(得分:2)
更改
double k = i / j;
到
double k = (double)i / (double)j;
在分割之前,您需要强制其中一个操作数到double
。
答案 2 :(得分:2)
你不能分割两个整数并期望加倍。
将它们声明为double
s以开始或投射它们。
double k = (double)i / (double)j
//or
double i = 1;
double j = 3;
double k = i / j;