Javaで計算処理を書こうと思ったとき、「どうやって四捨五入するの?」「ランダムな数は?」と迷ったことはありませんか?
私も初めてJavaを学んだとき、割り算をして「あれ?小数点以下が欲しかったのに…」と混乱しました。Mathクラスの存在を知ってからは、計算が一気にスマートになりました。
この記事では、JavaのMathクラスの基本から、よく使うメソッド、乱数、三角関数、精度の話まで、初心者がつまずくポイントをやさしく解説します。
「もっと早く知りたかった」「意味のない自作コードをやめられた」と多くの学習者に好評の内容です。「100円未満は切り捨て」といった処理も、Math.floor(price)で一発!
この1記事で、計算まわりのモヤモヤをスッキリ解消しましょう!
Mathクラスの基本と使い方
staticメソッドなのでnewしなくてOK
Mathクラスのすべてのメソッドは static なので、newしなくても使えます。
staticは「クラスにくっついてる機能」だから、Math.sqrt(4)
のように直接呼び出せます。
具体例を見てみましょう!
// これはOK
double result = Math.sqrt(9);
// これは不要(間違い)
Math m = new Math(); // エラーになります
Mathクラスはnewせず、直接メソッド名で使うのが基本です!
よく使う計算メソッドまとめ
絶対値・切り上げ・切り捨て・四捨五入
よく使うのはこの4つ!
知っておくだけで、あらゆる「数値の扱い」が簡単になります。
Math.abs(-5); // 絶対値 → 5
Math.ceil(2.1); // 切り上げ → 3.0
Math.floor(2.9); // 切り捨て → 2.0
Math.round(2.6); // 四捨五入 → 3
迷ったら abs, ceil, floor, round
を覚えよう!
ランダムな数を出す方法
Math.random()で0.0〜1.0の数を取得
Javaでは Math.random()
を使えば乱数が作れます。
このメソッドは 0.0以上 1.0未満 の小数を返します。
具体例を見てみましょう!
// 0〜9の整数を出したい場合:
int random = (int)(Math.random() * 10);
必要な範囲に応じて「掛け算&キャスト」で調整できます!
三角関数・指数・対数も使える
高度な計算も1行でOK
Mathには sin()
や log()
などもあります。
数学で習う三角関数や指数、対数などもJavaで簡単に使えます。
Math.sin(Math.PI / 2); // 1.0
Math.log(10); // 自然対数(ln)
Math.exp(2); // eの2乗
数学の知識がちょっとあれば、Javaでも使いこなせます!
自作コードとの違いとは?
Mathを使うことで安全・正確に
自分で計算するより、Mathを使うほうが確実!
自作の四捨五入などは丸め誤差や桁数の問題を起こしやすい。
具体例を見てみましょう!
// 自作の例(間違いがち)
double val = 2.5;
int rounded = (int)(val + 0.5); // これは2.5未満のとき不安定
// 正解は:
int rounded2 = Math.round(val); // これならOK!
「なんとなく動くコード」より、正確なMathを使おう!
まとめ:Mathで計算の達人になろう!
- Mathはnewしなくて使える!
- abs, ceil, floor, round は必須
- Math.random()で乱数を制す!
- sin, log, expなどもすぐ使える
- 自作せずにMathで精度UP
Javaでの計算は、「Mathを使いこなせるか」がカギです。 この1記事で、自信を持って書けるようになります!
ぜひ、今日からコードにMathを取り入れてみましょう!