Java 速習チュートリアル

Java のMathクラス

JavaのMathクラスには、数値に対して様々な数学的タスクを実行するための多くのメソッド(methods)が用意されています。

1. Math.max(x, y)

Math.max(x, y) メソッドは、xy のうち、より大きい方の値を返すために使用されます。

1.1 Math.max のコード例

Math.max(5, 10); // 10を返す

2. Math.min(x, y)

Math.min(x, y) メソッドは、xy のうち、より小さい方の値を返すために使用されます。

2.1 Math.min のコード例

Math.min(5, 10); // 5を返す

3. Math.sqrt(x)

Math.sqrt(x) メソッドは、x の平方根(square root)を返します。

3.1 Math.sqrt のコード例

Math.sqrt(64); // 8.0を返す

4. Math.abs(x)

Math.abs(x) メソッドは、x の絶対値(absolute value)、つまり正の値を返します。

4.1 Math.abs のコード例

Math.abs(-4.7); // 4.7を返す

5. Math.pow(x, y)

Math.pow(x, y) メソッドは、xy 乗した値を返します。

5.1 Math.pow のコード例

Math.pow(2, 8);  // 256.0
補足: Math.pow(2, 8) は、2 を 8 回掛け合わせる計算を意味します: 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 = 256
注意: Math.pow() メソッドは、たとえ結果が整数であっても、常に double型 を返します。例えば、Math.pow(2, 8) の戻り値は 256 ではなく 256.0 です。

6. 端数処理メソッド (Rounding Methods)

Javaには、数値を丸めるためのメソッドがいくつか用意されています。

  • Math.round(x):最も近い整数に四捨五入します。
  • Math.ceil(x):切り上げ(x 以上の最小の整数を返します)。
  • Math.floor(x):切り捨て(x 以下の最大の整数を返します)。

6.1 各端数処理の挙動比較

Math.round(4.6);  // 5
Math.ceil(4.1);   // 5.0
Math.floor(4.9);  // 4.0

7. 乱数 (Random Numbers)

Math.random() メソッドは、0.0(以上)から 1.0(未満)の範囲のランダムな数値を返します。

7.1 基本的な乱数生成

Math.random(); // 例: 0.123456...

乱数をより詳細に制御したい場合(例えば 0 から 100 までの整数値が欲しい場合)は、以下の公式を利用します。

7.2 特定の範囲の整数を取得する例

int randomNum = (int)(Math.random() * 101);  // 0 から 100 までの乱数

       ポイント:Math.random()double型 を返します。整数として取得するためには、(int) を使って明示的にキャスト(cast)を行う必要があることを覚えておきましょう。