Java-cast不产生预期的输出

Java-cast不产生预期的输出,java,math,casting,Java,Math,Casting,0.0打印到屏幕上。为什么?为什么演员阵容没有达到预期效果 如果以这种方式声明测试 public class Test { public static void main(String[] args) { int test = 1; System.out.println((double)(Math.pow(test/++test, 2))); } 我得到了我想要打印的东西。。。0.25. 为什么? 我是编程新手,我正在到处玩。阅读这一级别的一些文档几乎毫无用处。您正在进行整数

0.0打印到屏幕上。为什么?为什么演员阵容没有达到预期效果

如果以这种方式声明测试

public class Test { 

public static void main(String[] args) { 

int test = 1; 

System.out.println((double)(Math.pow(test/++test, 2)));

} 
我得到了我想要打印的东西。。。0.25.

为什么?


我是编程新手,我正在到处玩。阅读这一级别的一些文档几乎毫无用处。

您正在进行整数除法。所以把线路改成

double test = 1; 

要进行双除法,演员阵容来得太晚了。您已经编写了
(int)1/(int)2
,并生成了
(int)0
。将
0
强制转换为
double
不会恢复截断的数据。
System.out.println((Math.pow(test/(double)++test, 2)));