在java中转换的优先级是什么?
如果我有一行代码,就像这样
int s = (double) t/2
是否与
int s = (double) (t/2)
或
int s = ((double) t)/2
?
如果我有一行代码,就像这样
int s = (double) t/2
是否与
int s = (double) (t/2)
或
int s = ((double) t)/2
?
请参阅此表(有关运算符优先级)以使操作更清楚。简单地说,强制转换优先于除法运算,因此它将提供与
int s = ((double)t) / 2;
正如knoight所指出的,这在技术上与没有括号的操作不同,因为它们也具有优先级。但是,就此示例而言,它将提供相同的结果,并且对于所有意图和目的都是等效的。