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

Eva*_*eri 14 java casting

如果我有一行类似的代码

int s = (double) t/2   
Run Code Online (Sandbox Code Playgroud)

它是一样的吗?

int s = (double) (t/2)
Run Code Online (Sandbox Code Playgroud)

要么

int s = ((double) t)/2
Run Code Online (Sandbox Code Playgroud)

?

cas*_*eif 16

这应该会让事情变得更加清晰.简单地说,一个强制转换优先于一个除法运算,所以它与给出相同的输出是一样的

int s = ((double)t) / 2;
Run Code Online (Sandbox Code Playgroud)

编辑:正如Knoight指出的那样,这在技术上与没有圆括号的操作不同,因为它们也具有优先权.但是,出于本示例的目的,它将提供相同的结果,并且用于所有意图和目的.

  • 括号覆盖优先级 - 所以它不完全相同. (2认同)
  • @knoight我的意思是,虽然它在技术上是一个不同的操作,但覆盖不会改变优先级,所以这是一个公平的比较. (2认同)