以下は プログラミング初心者 向けに「算術演算子」を噛み砕いて、実際に試せる例題+解説+練習問題(解答付き)までまとめた説明です。
算術演算子って何?(超かんたん説明)
算術演算子は、プログラムで「足す・引く・掛ける・割る」などの 数の計算 をするための記号です。電卓のボタンに相当します。主に次のものを覚えればOK:
+(足し算) -(引き算) *(掛け算) /(割り算) %(余り) **(べき乗)
さらに「インクリメント/デクリメント」や「単項プラス・マイナス」もよく使います: ++ -- +value -value
基本操作と例
1) 加算 +
console.log(10 + 5); // 15
JavaScript注意:片方が文字列だと 連結 になります。
console.log("10" + 5); // "105" ← 数学的な 15 にはならない
JavaScript2) 減算 -
console.log(10 - 5); // 5
JavaScript3) 乗算 *
console.log(10 * 5); // 50
JavaScript4) 除算 /
console.log(10 / 2); // 5
console.log(10 / 3); // 3.3333333333333335 (小数になる)
JavaScript0で割ると Infinity または -Infinity(0で割った数の符号による)になるので注意。
5) 剰余(余り) %
console.log(10 % 3); // 1 (10 ÷ 3 の余り)
JavaScriptよく「偶数か奇数か」を判定するのに使います:
console.log(6 % 2 === 0); // true (6は偶数)
JavaScript6) べき乗 **
console.log(2 ** 3); // 8 (2の3乗)
JavaScript7) 単項プラス/マイナス(+value / -value)
+value は値を数として扱う(強制変換)、-value は符号を反転します。
console.log(+"42"); // 42 ("42" を数に変換)
console.log(-5); // -5
JavaScript8) インクリメント / デクリメント ++ / --
let a = 5;
a++; // a は 6 になる(後置)
++a; // a は 7 になる(前置)
JavaScript前置 (++a) と後置 (a++) の違いは「式が値を返すタイミング(増える前 or 増えた後)」です。
演算の優先順位(どっちが先に計算される?)
数学と同じで * や / は + や - より先に計算されます。括弧 () を使うと優先順位を変えられます。
console.log(2 + 3 * 4); // 14 (3*4が先)
console.log((2 + 3) * 4); // 20 (括弧で先に2+3)
JavaScript小数(浮動小数点)の注意点 — 重要!
JavaScriptでは数は内部的に浮動小数点(小数)で扱われます。これにより 見た目通りに計算できないことがある のが最大の注意点。
例:
console.log(0.1 + 0.2); // 0.30000000000000004
JavaScript「0.1 と 0.2 を足すと 0.3 のはず…」ですが、小さな誤差が出ます。対策の例:
- 表示上丸める(例:小数第2位まで表示):
console.log((0.1 + 0.2).toFixed(2)); // "0.30"(文字列)
console.log(Number((0.1 + 0.2).toFixed(2))); // 0.3(数値に戻す)
JavaScript- 整数に変換して計算する(例:金額を「円」ではなく「銭」単位で扱う、など):
const a = Math.round(0.1 * 100); // 10
const b = Math.round(0.2 * 100); // 20
console.log((a + b) / 100); // 0.3
JavaScriptちょっと便利な使い方(実用例)
偶数・奇数チェック
function isEven(n){ return n % 2 === 0; }
console.log(isEven(7)); // false
JavaScript桁数を丸める(小数第2位で丸め)
function round2(x){ return Math.round(x * 100) / 100; }
console.log(round2(3.14159)); // 3.14
JavaScript絶対値
console.log(Math.abs(-12)); // 12
JavaScript例題
以下は初心者向けの例題と解説です。実際にコードを打ち替えて動かしてみてください。
例題1:合計と平均
const a = 78, b = 92, c = 85;
const sum = a + b + c;
const avg = sum / 3;
console.log("合計:", sum); // 255
console.log("平均:", avg); // 85
JavaScript説明:+で合計を作り、その合計を 3 で割って平均を出しています。
例題2:消費税を加えた価格(丸めあり)
const price = 1200;
const taxRate = 0.10;
const priceWithTax = price * (1 + taxRate);
console.log(priceWithTax); // 1320
JavaScript小数誤差が不安なら Math.round や toFixed を使う。
例題3:割り算の余りを使う(曜日を計算する)
- ある日から 10 日後は何曜日か?(日曜を 0 とする)
const today = 2; // 火曜を 2 とする例(0=日, 1=月, 2=火...)
const daysLater = 10;
const weekday = (today + daysLater) % 7;
console.log(weekday); // (2 + 10) % 7 = 5 -> 金曜
JavaScript例題4:べき乗を使う(2の5乗)
console.log(2 ** 5); // 32
JavaScript練習問題
下に 演習問題 と解答を用意します。まずは自分で考えてから答えを見てください。
問題1
a = 15, b = 4 のとき、a / b と a % b の値は何ですか?
問題2
0.1 + 0.2 をそのままコンソールに出すと 0.30000000000000004 になります。これを 0.3 と表示したいとき、toFixed を使って表示してください(コードで答える)。
問題3
n が与えられたとき、n が偶数なら "Even", 奇数なら "Odd" を返す関数を作ってください。
問題4
次の式の値を求めよ(括弧の優先を正しく処理すること):2 + 3 * 4 - (6 / 2)
練習問題の解答(ここまで考えてから見る)
解答1
a = 15, b = 4a / b = 3.75a % b = 15 % 4 = 3(15 ÷ 4 = 3 余り 3)
解答2
console.log((0.1 + 0.2).toFixed(1)); // "0.3" (文字列)
console.log(Number((0.1 + 0.2).toFixed(1))); // 0.3 (数値)
JavaScript解答3
function evenOdd(n){
return (n % 2 === 0) ? "Even" : "Odd";
}
console.log(evenOdd(7)); // "Odd"
console.log(evenOdd(8)); // "Even"
JavaScript解答4
計算順:
3 * 4 = 126 / 2 = 32 + 12 - 3 = 11
したがって答えは11。
(コードで確かめる)
console.log(2 + 3 * 4 - (6 / 2)); // 11
JavaScriptよくあるミスと対処法
+を使って文字列と数字を混ぜると 連結 になる:"3" + 2→"32"。数にしたければNumber("3") + 2か+"3" + 2を使う。- 小数の丸め誤差を放置する:金融など誤差が致命的な場合は整数単位で扱う(例:円なら「銭」で計算する)か、専用ライブラリを使う。
0で割るとInfinityになる:必ず割る前にif (denominator === 0) …のチェックを入れる。
さらに学びたい人向け(次の一歩)
- 浮動小数点の内部表現(IEEE754)の基礎を学ぶと「なぜ誤差が出るか」が深くわかります。
- 金融アプリなどで精度が重要なら
BigInt(整数が大きい場合)や外部の高精度演算ライブラリを検討。 - 演算子の優先順位表(一覧)を手元に置くと式を読むのが速くなります。
