Forum und email

運算符的先後次序 (先乘除後加減的問題)

算符的優先次序決定了算符作用的表達式之間連接的有多緊。 比如說,在 1 + 5 * 3表達式中, 答案是 16 而不是 18, 這是因為 '*' 號比 '+' 號更優先執行。

下表列出了從低到高的優先次序。 最下面算符會最先被執行。

運算符優先次序
運算符優先次序 各類運算符
左 ,
左 or
左 xor
左 and
右 print
左 = += -= *= /= .= %= &= |= ^= ~= <<= >>=
左 ? :
左 ||
左 &&
左 |
左 ^
左 &
沒關聯 non-associative == != === !==
沒關聯 non-associative < <= > >=
左 << >>
左 + - .
左 * / %
右 ! ~ ++ -- (int) (double) (string) (array) (object) @
右 [
沒關聯 non-associative new