JavaのStrictMathクラスとは?主なメソッドと使い方を解説
java.lang.StrictMathはfinalクラスであり、Objectクラスのサブクラスです。このクラスには、指数関数・対数関数・平方根や三角関数といった初等的な数値演算を実行するためのメソッドが多数含まれています。
StrictMathクラスのすべてのメソッドはstaticメソッド(静的メソッド)として定義されているため、インスタンスを生成する必要はありません。クラス名を直接指定してメソッドを呼び出すだけで利用できます。
主なメソッド一覧
StrictMathクラスでよく使われるメソッドには以下のようなものがあります。
- abs():絶対値を返す
- acos() / asin() / atan():逆三角関数を計算する
- ceil():小数点以下を切り上げる
- floor():小数点以下を切り捨てる
- log():自然対数を計算する
- max() / min():最大値・最小値を返す
- pow():べき乗を計算する
- random():0.0以上1.0未満の乱数を生成する
- round():四捨五入した値を返す
- sqrt():平方根を計算する
構文
public final class StrictMath extends Object
コード例
public class StrictMathTest {
public static void main(String args[]) {
System.out.println("絶対値: " + StrictMath.abs(-100.50));
System.out.println("切り上げ値 : " + StrictMath.ceil(100.55));
System.out.println("切り捨て値 : " + StrictMath.floor(100.55));
System.out.println("最大値 : " + StrictMath.max(100,200));
System.out.println("最小値 : " + StrictMath.min(100,200));
System.out.println("乱数値 : " + StrictMath.random());
System.out.println("四捨五入値: " + StrictMath.round(100.75));
System.out.println("平方根値 : " + StrictMath.sqrt(2));
System.out.println("円周率PI: " + StrictMath.PI);
System.out.println("対数値: " + StrictMath.log(10.55));
}
}
実行結果
絶対値: 100.5 切り上げ値 : 101.0 切り捨て値 : 100.0 最大値 : 200 最小値 : 100 乱数値 : 0.22227639516105102 四捨五入値: 101 平方根値 : 1.4142135623730951 円周率PI: 3.141592653589793 対数値: 2.3561258599220753
Mathクラスとの違い
Javaには似た機能を持つjava.lang.Mathクラスもありますが、両者の大きな違いは結果の再現性にあります。StrictMathはすべてのプラットフォームでビット単位で同一の計算結果を保証する一方、Mathクラスはプラットフォーム固有のネイティブライブラリを利用して高速化される場合があります。厳密な移植性が必要な場面ではStrictMathクラスを使用するとよいでしょう。
-
JavaのJViewportクラスとは?スクロールモデルにおける役割と重要性を解説
Swingアプリケーションでスクロール表示を実装する際、JViewportクラスは中核的な役割を担います。この記事では、JViewportクラスの基本的な仕組みとその重要性について詳しく解説します。 JViewportクラスの概要 JViewportクラスは、基本的なスクロールモデルを定義するクラスであり、論理スクロール(logical scrolling)とピクセルベースのスクロールの両方をサポートするように設計されています。 ビューポートの子コンポーネントであるビュー(view)は、JViewport.setViewPosition()メソッドを呼び出すことでスクロールされます。 JVi
-
JavaのsetBounds()メソッドとは?使い方とサンプルコードを解説
JavaのGUIプログラミングでは、レイアウトマネージャー(Layout Manager)がコンポーネントの位置やサイズを自動的に決定します。しかし、レイアウトマネージャーを使用しない場合は、コンポーネントの位置とサイズを手動で設定する必要があります。そのような場面で活躍するのがsetBounds()メソッドです。フレームのレイアウトマネージャーをnullに設定することで、コンポーネントの位置とサイズを自由に指定できるようになります。setBounds()メソッドの基本setBounds()メソッドは4つの引数を取ります。第1引数と第2引数はコンポーネントの左上隅のx座標・y座標、第3引数はコ