Java的强制转换优先级比.(点号)优先级高吗

2025-03-03 06:36:19
推荐回答(5个)
回答1:

java中运算符:

算术运算符:+,-,*,/,%,++,--

关系运算符:>,<,>=,<=,==,!=

布尔逻辑运算符:!,&&,||

位运算符:<<,>>,>>>,&,|,^

赋值运算符=,及其扩展赋值运算符如+=,-=,*=,/=

条件运算符?:

其他:分量运算符.

下标运算符[]

实例运算符instanceof

内存分配符new

强制类型转换运算符(类型)

方法调用运算符()

运算符的运算顺序:

运算符优先级表
优先级 运算符 结合性
1 () [] . 从左到右
2 ! +(正) -(负) ~ ++ -- 从右向左
3 * / % 从左向右
4 +(加) -(减) 从左向右
5 << >> >>> 从左向右
6 < <= > >= instanceof 从左向右
7 == != 从左向右
8 &(按位与) 从左向右
9 ^ 从左向右
10 | 从左向右
11 && 从左向右
12 || 从左向右
13 ?: 从右向左
14 = += -= *= /= %= &= |= ^= ~= <<= >>= >>>= 从右向左
--------------------------------------------------------------------------------
(Element)node1.getFirstChild()应该是从右至左运算,即先运算node1.getFirstChild(),然后再强制转换。

回答2:

是的,先转换,再运算。

回答3:

Element后再getFirstChild() 最高
转换是要经过判断的 判断时是比较慢的

回答4:

应该是第二个

回答5:

转换优先级高,因为是括号