「優先順位」(2007/10/21 (日) 22:06:50) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
演算子には優先順位というものがあります
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が代入されて困った事になります
では優先順位を以下に示します
+() [] . 後置++ 後置-- 後置! incontextof int real string
+前置! ~ 前置++ 前置-- new invalidate isvalid delete typeof # $ 単項+ 単項- 単項* instanceof
+% / \ *
+&italic()+ -
+>> << >>>
+< > <= >=
+== != === !==
+&
+^
+|
+&
+&&
+||
+? :
+= <-> &= |= ^= -= += %= /= \= *= &&= ||= >>= <<= >>>=
+,
+if
半角スペースで区切られたそれぞれが演算子です
上に行くほど(数字が小さいほど)優先順位は高くなります
同じ数字の演算子同士は優先順位が同じです
とりあえず覚える必要は無いと思います。分からなかったらとりあえず()を付けておけば確実です
では次回からそれぞれの演算子の説明をしていきます
演算子には優先順位というものがあります
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が代入されて困った事になります
では優先順位を以下に示します
+() [] . 後置++ 後置-- 後置! incontextof int real string
+前置! ~ 前置++ 前置-- new invalidate isvalid delete typeof # $ 単項+ 単項- 単項* instanceof
+% / \ *
+&italic()+ -
+>> << >>>
+< > <= >=
+== != === !==
+&
+^
+|
+&
+&&
+||
+? :
+= <-> &= |= ^= -= += %= /= \= *= &&= ||= >>= <<= >>>=
+,
+if
半角スペースで区切られたそれぞれが演算子です
上に行くほど(数字が小さいほど)優先順位は高くなります
同じ数字の演算子同士は優先順位が同じです
とりあえず覚える必要は無いと思います。分からなかったらとりあえず()を付けておけば確実です
では次回からそれぞれの演算子の説明をしていきます
表示オプション
横に並べて表示:
変化行の前後のみ表示: