Java Math クラス完全ガイド:abs、round、ceil、floor、min、max など実例付き
Java の Math クラスは、物理シミュレーションから地理計算まで複雑な計算に取り組む開発者に不可欠です。このガイドではコアメソッド—abs()、round()、ceil()、floor()、min()、max()—をカバーし、それぞれを実践的なコード例で実演します。
java.lang.Math で利用可能な主要定数:
- Math.E – 2.718281828459045(自然対数の底)
- Math.PI – 3.141592653589793(円周率)
| メソッド | 説明 | 引数 |
|---|---|---|
| abs | 引数の絶対値を返す | double, float, int, long |
| round | 最も近い int または long に丸める | double または float |
| ceil | 値以上の最小整数 | double |
| floor | 値以下の最大整数 | double |
| min | 2引数のうち小さい方 | double, float, int, long |
| max | 2引数のうち大きい方 | double, float, int, long |
以下はこれらのメソッドを示す簡潔なコードスニペット(明示的 import 不要、java.lang.Math は自動的に利用可能):
int i1 = 27; int i2 = -45; double d1 = 84.6; double d2 = 0.45;
// abs()
System.out.println("abs(i1) = " + Math.abs(i1));
System.out.println("abs(i2) = " + Math.abs(i2));
System.out.println("abs(d1) = " + Math.abs(d1));
System.out.println("abs(d2) = " + Math.abs(d2));
// round()
System.out.println("round(d1) = " + Math.round(d1));
System.out.println("round(d2) = " + Math.round(d2));
// ceil() & floor()
System.out.println("ceil(d1) = " + Math.ceil(d1));
System.out.println("floor(d1) = " + Math.floor(d1));
System.out.println("ceil(d2) = " + Math.ceil(d2));
System.out.println("floor(d2) = " + Math.floor(d2));
// min() & max()
System.out.println("min(i1, i2) = " + Math.min(i1, i2));
System.out.println("max(i1, i2) = " + Math.max(i1, i2));
System.out.println("min(d1, d2) = " + Math.min(d1, d2));
System.out.println("max(d1, d2) = " + Math.max(d1, d2));
実行例出力:
abs(i1) = 27 abs(i2) = 45 abs(d1) = 84.6 abs(d2) = 0.45 round(d1) = 85 round(d2) = 0 ceil(d1) = 85.0 floor(d1) = 84.0 ceil(d2) = 1.0 floor(d2) = 0.0 min(i1, i2) = -45 max(i1, i2) = 27 min(d1, d2) = 0.45 max(d1, d2) = 84.6
基本算術を超えて、java.lang.Math は強力な科学関数を提供:
| メソッド | 説明 | 引数 |
|---|---|---|
| exp | e の入力値乗 | double |
| log | 自然対数 | double |
| pow | 底の指数乗 | double, double |
| sqrt | 平方根 | double |
double d1 = 84.6; double d2 = 0.45;
System.out.println("exp(d2) = " + Math.exp(d2));
System.out.println("log(d2) = " + Math.log(d2));
System.out.println("pow(5, 3) = " + Math.pow(5.0, 3.0));
System.out.println("sqrt(16) = " + Math.sqrt(16));
出力:
exp(d2) = 1.568312185490169 log(d2) = -0.7985076962177716 pow(5, 3) = 125.0 sqrt(16) = 4.0
三角関数ツールボックス:
| メソッド | 説明 | 引数 |
|---|---|---|
| sin | 正弦(入力はラジアン) | double |
| cos | 余弦(ラジアン) | double |
| tan | 正接(ラジアン) | double |
| atan2 | y/x のアークタンジェント(ラジアン返却) | double, double |
| toDegrees | ラジアンを度に変換 | double |
| toRadians | 度をラジアンに変換 | double |
double angleDeg = 30.0;
double angleRad = Math.toRadians(angleDeg);
System.out.println("sin(30°) = " + Math.sin(angleRad));
System.out.println("cos(30°) = " + Math.cos(angleRad));
System.out.println("tan(30°) = " + Math.tan(angleRad));
System.out.println("atan2(4, 2) = " + Math.atan2(4, 2));
出力:
sin(30°) = 0.49999999999999994 cos(30°) = 0.8660254037844387 tan(30°) = 0.5773502691896257 atan2(4, 2) = 1.1071487177940904
これらのビルディングブロックで、堅牢な科学計算機、エンジニアリング計算、地理座標処理を自信を持って構築できます。
Java
- C++ポリモーフィズム徹底解説:実践例とキー概念
- Python round()関数を実例で徹底解説
- Javaカプセル化完全ガイド:実践例で理解するデータ隠蔽とアクセサ
- Java変数とデータ型完全ガイド:実例付きで徹底解説
- Java String.length()メソッド:文字列サイズ取得の実例解説
- Java String.charAt()完全解説:構文、戻り値、例外、実例
- Java String.contains()メソッド:部分文字列チェックの実践例
- Java String.endsWith()マスター:文字列サフィックスチェック実例付き
- Java BufferedReader でファイル読み込み:実践ガイドと例
- Javaで挿入ソート:わかりやすい例とステップバイステップガイド
- Javaで選択ソート:ステップバイステップ例と完全コード