0
public class Test {
public static void main(String[] args) {
int test = 1;
System.out.println((double)(Math.pow(test/++test, 2)));
}
0.0被打印到屏幕上。为什么?为什么演员不按预期工作?Java - 投射不产生预期输出
如果测试声明这样...
double test = 1;
我得到了我期望打印... 0.25。
为什么?
我是编程新手,我在玩耍。阅读这个级别的一些文档是无用的。
演员发生为时已晚。你已经写了'(int)1 /(int)2'并产生了'(int)0'。将'0'投射到'double'不会恢复被截断的数据。 –