算術演算子は、基本的な算術演算を実行します。
演算 | 説明 |
---|---|
n1 + n2 | n1 足す n2 を返します。 |
n1 - n2 | n1 引く n2 を返します。 |
n1 * n2 | n1 掛ける n2 を返します。 |
n1 / n2 | n1 割る n2 を返します。 |
n1 % n2 | n1 mod n2、つまり n1 を n2 で整数除算した余りを返します。 |
n++ | n を返し、その後に n を 1 増やします。 |
++n | n を 1 増やし、その後に n を返します。 |
n-- | n を返し、その後に n を 1 減らします。 |
--n | n を 1 減らし、その後に n を返します。 |
-n | n を符号反転します。 |
+n | n と同じです。 |
2 つの整数の除算の結果に小数部がある場合は、小数部を切り捨てた整数ではなく、浮動小数点値になります。例えば、13 / 4 = 3.25 となります。小数部が切り捨てられた整数を得るには、最初に被除数からモジュラスを減算するとよいでしょう。例えば、(13 - ( 13 % 4)) / 4 = 3 のようにします。
var n = 3;
var m = 4;
var x = 3.1;
var y = 4.2;
print("<<<n = " + n + ">>>");
print("<<<m = " + m + ">>>");
print("<<<x = " + x + ">>>");
print("<<<y = " + y + ">>>");
print("<<<n+m = " + (n + m) + ">>>"); // 7
print("<<<n-m = " + (n - m) + ">>>"); // -1
print("<<<n*m = " + (n * m) + ">>>"); // 12
print("<<<n/m = " + (n / m) + ">>>"); // 0.75
print("<<<n+x = " + (n + x) + ">>>"); // 6.1
print("<<<n-x = " + (n - x) + ">>>"); // -0.10000000000000009
print("<<<n*x = " + (n * x) + ">>>"); // 9.3
print("<<<5*x = " + (5 * y) + ">>>"); // 21
print("<<<n/x = " + (n / x) + ">>>"); // 0.9677419354838709
以下はモジュラス演算子の例であり、余りのある整数除算の方法を示します。
function p(stuff) {
print("<<<" + stuff + ">>>");
}
var n = 13;
var m = 4;
p("n = " + n);
p("m = " + m);
var r = n % m;
var q = (n - r) / m;
p("integer n / m = " + q + ", remainder " + r); // 3, 1
この例は、インクリメント演算子とデクリメント演算子を示します。
function p(stuff) {
print("<<<" + stuff + ">>>");
}
var ipost = 0;
var ipre = 0;
var dpost = 0;
var dpre = 0;
for(var i = 0; i < 5; i++) {
p("iteration number " + i); // 0 on first iteration
p("ipost = " + ipost++); // 0 on first iteration
p("ipre = " + ++ipre); // 1 on first iteration
p("dpost = " + dpost--); // 0 on first iteration
p("ipre = " + --dpre); // -1 on first iteration
}
この例は、符号反転演算子を示します。
function p(stuff) {
print("<<<" + stuff + ">>>");
}
var n = 1;
var m = -1;
var nn = -n;
var mm = -m;
p("negative " + n + " = " + nn); // prints -1
p("negative " + m + " = " + mm); // prints 1