JavaのMathを知らないと損をする

数学的計算について Java

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を取り入れてみましょう!

タイトルとURLをコピーしました