java中类型转换的优先级是什么?



如果我有这样一行代码

int s = (double) t/2   

相同吗?
int s = (double) (t/2)

int s = ((double) t)/2

?

查看操作符优先级表以使事情更清楚。简单地说,强制转换优先于除法操作,因此它将给出与

相同的输出。
int s = ((double)t) / 2;

正如knight指出的那样,从技术上讲,这与没有括号的操作不同,因为它们也有优先级。然而,对于这个示例,它将提供相同的结果,并且在所有意图和目的上都是相同的。

最新更新