在java中强制转换的优先级是什么?

在java中强制转换的优先级是什么?,java,casting,Java,Casting,如果我有一行代码 int s = (double) t/2 和你的一样吗 int s = (double) (t/2) 或 简单地说,强制转换优先于除法运算,因此它与给出相同的输出是一样的 int s = ((double)t) / 2; 编辑:正如knoight所指出的,这在技术上与没有括号的操作不同,因为括号也有优先级。但是,在本例中,它将提供相同的结果,并且在所有意图和目的上都是等效的。括号的可能重复覆盖优先级-因此它并不完全相同。@Knowight我的意思是,虽然它在技术上是

如果我有一行代码

int s = (double) t/2   
和你的一样吗

int s = (double) (t/2)

简单地说,强制转换优先于除法运算,因此它与给出相同的输出是一样的

int s = ((double)t) / 2;

编辑:正如knoight所指出的,这在技术上与没有括号的操作不同,因为括号也有优先级。但是,在本例中,它将提供相同的结果,并且在所有意图和目的上都是等效的。

括号的可能重复覆盖优先级-因此它并不完全相同。@Knowight我的意思是,虽然它在技术上是一个不同的操作,但覆盖不会改变优先级,因此,这是一个公平的比较。在这个特定的例子中,括号对最终结果没有影响,这是正确的。然而,我想指出的是,括号确实会影响评估的顺序。因此,如果OP选择了一个不同的例子,比如我在上面发布的链接中的例子,那么括号的位置就变得非常重要——我觉得这在你的回答中被忽略了。触摸评估的编辑会更改我的vote@knoight我做了一次编辑,注意到这不完全是一回事。我希望它足够了。
int s = ((double)t) / 2;