吉里吉里/tjs2解説
優先順位
最終更新:
tjs2
-
view
演算子には優先順位というものがあります
KAGで
[eval exp = "f.a = 1 + 4 * 5"]
とするとf.aには21が代入される、というのは分かるはずです
つまり、 + よりも * の方が先に計算されています
この計算される順番が優先順位です
優先順位の高い演算子が低いものより先に計算されます
また、同じ優先順位の演算子は左から順に計算されていきます
この優先順位を変えるには()を使うというのはKAGでやったと思います
[eval exp = "f.a = (1 + 4) * 5"]
こうすればf.aには25が代入されます
KAGで
[eval exp = "f.a = 1 + 4 * 5"]
とするとf.aには21が代入される、というのは分かるはずです
つまり、 + よりも * の方が先に計算されています
この計算される順番が優先順位です
優先順位の高い演算子が低いものより先に計算されます
また、同じ優先順位の演算子は左から順に計算されていきます
この優先順位を変えるには()を使うというのはKAGでやったと思います
[eval exp = "f.a = (1 + 4) * 5"]
こうすればf.aには25が代入されます
ちなみに、 = は + や * よりも優先順位が低いというのは分かるでしょうか?
そうしないとf.aには1が代入されて困った事になります
そうしないとf.aには1が代入されて困った事になります
では優先順位を以下に示します
- () [] . 後置++ 後置-- 後置! incontextof int real string
- 前置! ~ 前置++ 前置-- new invalidate isvalid delete typeof # $ 単項+ 単項- 単項* instanceof
- % / \ *
- + -
- >> << >>>
- < > <= >=
- == != === !==
- &
- ^
- |
- &
- &&
- ||
- ? :
- = <-> &= |= ^= -= += %= /= \= *= &&= ||= >>= <<= >>>=
- ,
- if
半角スペースで区切られたそれぞれが演算子です
上に行くほど(数字が小さいほど)優先順位は高くなります
同じ数字の演算子同士は優先順位が同じです
とりあえず覚える必要は無いと思います。分からなかったらとりあえず()を付けておけば確実です
上に行くほど(数字が小さいほど)優先順位は高くなります
同じ数字の演算子同士は優先順位が同じです
とりあえず覚える必要は無いと思います。分からなかったらとりあえず()を付けておけば確実です
では次回からそれぞれの演算子の説明をしていきます