JavaTM 2 Platform
Std. Ed. v1.3

java.lang
クラス Math

java.lang.Object
  |
  +--java.lang.Math

public final class Math
extends Object

Math クラスは、指数関数、対数関数、平方根、および三角関数といった基本的な数値処理を実行するためのメソッドを含んでいます。

StrictMath クラスの一部の数値関数とは異なり、Math クラスの等価関数のすべての実装は、ビット対ビットの同じ結果を返すようには定義されていません。この柔軟さが、再現性が厳密な要求されていない場合の実装性能を上げることになります。

多くの Math 関数はデフォルトで、StrictMath の等価関数にそれらの実装を使用するために単に移譲します。コードジェネレータは、プラットフォーム固有のネイティブライブラリまたはマイクロプロセッサの命令がある場合は積極的に使用し、高性能な Math 関数の実装を提供します。そのような高性能な実装でも Math の仕様に準拠する必要があります。

導入されたバージョン:
JDK1.0

フィールドの概要
static double E
          自然対数の底 e にもっとも近い double 値です。
static double PI
          円周とその直径の比 pi にもっとも近い double 値です。
 
メソッドの概要
static double abs(double a)
          double 値の絶対値を返します。
static float abs(float a)
          float 値の絶対値を返します。
static int abs(int a)
          int 値の絶対値を返します。
static long abs(long a)
          long 値の絶対値を返します。
static double acos(double a)
          指定された角度の逆余弦 (アークコサイン) を、0.0 〜 pi の範囲で返します。
static double asin(double a)
          指定された角度の逆正弦 (アークサイン) を、-pi/2 〜 pi/2 の範囲で返します。
static double atan(double a)
          指定された角度の逆正接 (アークタンジェント) を、-pi/2 〜 pi/2 の範囲で返します。
static double atan2(double a, double b)
          直交座標 (ba) を極座標 (r, theta) に変換します。
static double ceil(double a)
          引数の値以上で、厳密な整数と等しい、最小の (負の無限大にもっとも近い) double 値を返します。
static double cos(double a)
          指定された角度の余弦 (コサイン) を返します。
static double exp(double a)
          e (2.718...)
static double floor(double a)
          引数の値以下で、厳密な整数と等しい、最大の (無限大にもっとも近い) double 値を返します。
static double IEEEremainder(double f1, double f2)
          IEEE 754 標準に従って、2 個の引数について剰余を計算します。
static double log(double a)
          指定された double 値の自然対数値 (底は e) を返します。
static double max(double a, double b)
          2 つの double 値のうち大きい方を返します。
static float max(float a, float b)
          2 つの float 値のうち大きい方を返します。
static int max(int a, int b)
          2 つの int 値のうち大きい方を返します。
static long max(long a, long b)
          2 つの long 値のうち大きい方を返します。
static double min(double a, double b)
          2 つの double 値のうち小さい方を返します。
static float min(float a, float b)
          2 つの float 値のうち小さい方を返します。
static int min(int a, int b)
          2 つの int 値のうち小さい方を返します。
static long min(long a, long b)
          2 つの long 値のうち小さい方を返します。
static double pow(double a, double b)
          1 番目の引数を、2 番目の引数で累乗した値を返します。
static double random()
          0.0 以上で、1.0 より小さい正の符号の付いた double 値を返します。
static double rint(double a)
          厳密な整数に等しく、値が a にもっとも近い double 値を返します。
static long round(double a)
          引数にもっとも近い long を返します。
static int round(float a)
          引数にもっとも近い int を返します。
static double sin(double a)
          指定された角度の正弦 (サイン) を返します。
static double sqrt(double a)
          double 値の正しく丸めた正の平方根を返します。
static double tan(double a)
          指定された角度の正接 (タンジェント) を返します。
static double toDegrees(double angrad)
          ラジアンで計測した角度を、相当する度に換算します。
static double toRadians(double angdeg)
          度で計測した角度を、相当するラジアンに換算します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

E

public static final double E
自然対数の底 e にもっとも近い double 値です。

PI

public static final double PI
円周とその直径の比 pi にもっとも近い double 値です。
メソッドの詳細

sin

public static double sin(double a)
指定された角度の正弦 (サイン) を返します。特例として、

結果は正しく丸めた結果の 1 ulp 以内でなければなりません。結果は半単調なものに限ります。

パラメータ:
a - ラジアンで表した角度
戻り値:
引数の正弦 (サイン)

cos

public static double cos(double a)
指定された角度の余弦 (コサイン) を返します。特例として、

結果は正しく丸めた結果の 1 ulp 以内でなければなりません。結果は半単調なものに限ります。

パラメータ:
a - ラジアンで表した角度
戻り値:
引数の余弦 (コサイン)

tan

public static double tan(double a)
指定された角度の正接 (タンジェント) を返します。特例として、

結果は正しく丸めた結果の 1 ulp 以内でなければなりません。結果は半単調なものに限ります。

パラメータ:
a - ラジアンで表した角度
戻り値:
引数の正接 (タンジェント)

asin

public static double asin(double a)
指定された角度の逆正弦 (アークサイン) を、-pi/2 〜 pi/2 の範囲で返します。特例として、

結果は正しく丸めた結果の 1 ulp 以内でなければなりません。結果は半単調なものに限ります。

パラメータ:
a - double 値。この値の逆正弦 (アークサイン) が返される
戻り値:
引数の逆正弦 (アークサイン)

acos

public static double acos(double a)
指定された角度の逆余弦 (アークコサイン) を、0.0 〜 pi の範囲で返します。特例として、

結果は正しく丸めた結果の 1 ulp 以内でなければなりません。結果は半単調なものに限ります。

パラメータ:
a - double 値。この値の逆余弦 (アークコサイン) が返される
戻り値:
引数の逆余弦 (アークコサイン)

atan

public static double atan(double a)
指定された角度の逆正接 (アークタンジェント) を、-pi/2 〜 pi/2 の範囲で返します。特例として、

結果は正しく丸めた結果の 1 ulp 以内でなければなりません。結果は半単調なものに限ります。

パラメータ:
a - double 値。この値の逆正接 (アークタンジェント) が返される
戻り値:
引数の逆正接 (アークタンジェント)

toRadians

public static double toRadians(double angdeg)
度で計測した角度を、相当するラジアンに換算します。
パラメータ:
angdeg - 度で計測した角度
戻り値:
ラジアンで表した、角度 angdeg の計測値
導入されたバージョン:
1.2

toDegrees

public static double toDegrees(double angrad)
ラジアンで計測した角度を、相当する度に換算します。
パラメータ:
angrad - ラジアンで表した角度
戻り値:
度で表した、角度 angrad の計測値
導入されたバージョン:
1.2

exp

public static double exp(double a)
e (2.718...) を double 値で累乗した指数値を返します。特例として、

結果は正しく丸めた結果の 1 ulp 以内でなければなりません。結果は半単調なものに限ります。

パラメータ:
a - double の値
戻り値:
ea の値。e は自然対数の底

log

public static double log(double a)
指定された double 値の自然対数値 (底は e) を返します。特例として、

結果は正しく丸めた結果の 1 ulp 以内でなければなりません。結果は半単調なものに限ります。

パラメータ:
a - 0.0 よりも大きい数値
戻り値:
ln a の値。a の自然対数

sqrt

public static double sqrt(double a)
double 値の正しく丸めた正の平方根を返します。特例として、 そうでない場合は、引数値の正しい厳密な平方根にもっとも近い double 値が返されます。
パラメータ:
a - double の値
戻り値:
a の正の平方根。引数が NaN であるかゼロよりも小さい場合は、結果も NaN

IEEEremainder

public static double IEEEremainder(double f1,
                                   double f2)
IEEE 754 標準に従って、2 個の引数について剰余を計算します。剰余の値は、計算上は f1 - f2 × n に等しくなります。ここで、nf1/f2 の商の正確な値にもっとも近い整数です。f1/f2 に同じ程度に近似する整数が 2 つ存在する場合、n には偶数が選択されます。剰余がゼロになる場合、その符号は 1 番目の引数の符号と同じになります。特例として、
パラメータ:
f1 - 被除数
f2 - 除数
戻り値:
f1f2 で除算したときの剰余

ceil

public static double ceil(double a)
引数の値以上で、厳密な整数と等しい、最小の (負の無限大にもっとも近い) double 値を返します。特例として、 Math.ceil(x) の値は -Math.floor(-x) とまったく同じである点に注意してください。
パラメータ:
a - double の値
戻り値:
引数の値以上で、厳密な整数と等しい、最小の (負の無限大にもっとも近い) double

floor

public static double floor(double a)
引数の値以下で、厳密な整数と等しい、最大の (無限大にもっとも近い) double 値を返します。特例として、
パラメータ:
a - double
戻り値:
引数の値以下で、厳密な整数と等しい、最大の (無限大にもっとも近い) double

rint

public static double rint(double a)
厳密な整数に等しく、値が a にもっとも近い double 値を返します。厳密な整数値である 2 つの double 値が引数の値と同様に近い場合、結果的には偶数の整数値が返されます。特例として、
パラメータ:
a - double
戻り値:
厳密な整数に等しい a にもっとも近い double

atan2

public static double atan2(double a,
                           double b)
直交座標 (ba) を極座標 (r, theta) に変換します。このメソッドでは、 a/b の逆正接 (アークタンジェント) を -pipi の範囲で計算して、位相 theta (シータ) を求めます。特例として、

結果は正しく丸めた結果の 2 ulp 以内でなければなりません。結果は半単調なものに限ります。

パラメータ:
a - double
b - double
戻り値:
直交座標 (デカルト座標) 上の点 (ba) に対応する極座標上の点 (rtheta) の theta (シータ) 成分

pow

public static double pow(double a,
                         double b)
1 番目の引数を、2 番目の引数で累乗した値を返します。特例として、

(上記の説明においては、ceil メソッドによる固定小数点、または同じことですが、floor メソッドによる固定小数点の場合に限り、浮動小数点値は整数として考えます。そのメソッドを適用した結果と同じ場合に限り、値は引数が 1 つのメソッドの固定小数点となります。)

結果は正しく丸めた結果の 1 ulp 以内でなければなりません。結果は半単調なものに限ります。

パラメータ:
a - double
b - double
戻り値:
ab

round

public static int round(float a)
引数にもっとも近い int を返します。結果は 1/2 を加えて floor メソッドで取り int にキャストして整数に丸められます。すなわち、結果は次の式の値になります。

(int)Math.floor(a + 0.5f)

特例として、

パラメータ:
a - float
戻り値:
引数をもっとも近い int 値に丸めた値
関連項目:
Integer.MAX_VALUE, Integer.MIN_VALUE

round

public static long round(double a)
引数にもっとも近い long を返します。結果は 1/2 を加えて floor メソッドで取り int にキャストして整数に丸められます。すなわち、結果は次の式の値になります。

(long)Math.floor(a + 0.5d)

特例として、

パラメータ:
a - double
戻り値:
引数をもっとも近い long 値に丸めた値
関連項目:
Long.MAX_VALUE, Long.MIN_VALUE

random

public static double random()
0.0 以上で、1.0 より小さい正の符号の付いた double 値を返します。戻り値は、この範囲からの一様分布によって擬似乱数的に選択されます。

最初にこのメソッドが呼び出されたときに、メソッドは単一の新しい擬似乱数ジェネレータを作成します。これは、次の式とまったく同じです。

new java.util.Random
この新しい擬似乱数ジェネレータは、以後このメソッドへのすべての呼び出しに使われます。他の場所では使われません。

このメソッドは、複数のスレッドが正しく使えるよう適切に同期されます。しかし、多数のスレッドで擬似乱数を高頻度で発生する必要がある場合は、スレッド独自の擬似乱数ジェネレータを用意して各スレッドのコンテンションを減らしてもかまいません。

戻り値:
double の擬似乱数。範囲は、0.0 以上 1.0 未満
関連項目:
Random.nextDouble()

abs

public static int abs(int a)
int 値の絶対値を返します。引数が負でない場合は引数そのものが返されます。引数が負の場合は、その正負を逆にした値が返されます。

引数が Integer.MIN_VALUE の値 (int の最小値) と等しい場合は、結果も同じ値 (負の値) になります。

パラメータ:
a - int
戻り値:
引数の絶対値
関連項目:
Integer.MIN_VALUE

abs

public static long abs(long a)
long 値の絶対値を返します。引数が負でない場合は引数そのものが返されます。引数が負の場合は、その正負を逆にした値が返されます。

引数が Long.MIN_VALUE の値 (long の最小値) と等しい場合は、結果も同じ値 (負の値) になります。

パラメータ:
a - long
戻り値:
引数の絶対値
関連項目:
Long.MIN_VALUE

abs

public static float abs(float a)
float 値の絶対値を返します。引数が負でない場合は引数そのものを返します。引数が負のときは、その正負を逆にした値を返します。特例として、 つまり、次の式の値に等しくなります。

Float.intBitsToFloat(0x7fffffff & Float.floatToIntBits(a))
パラメータ:
a - float
戻り値:
引数の絶対値

abs

public static double abs(double a)
double 値の絶対値を返します。引数が負でない場合は引数そのものを返します。負のときは、その正負を逆にした値を返します。特例として、 つまり、次の式の値に等しくなります。

Double.longBitsToDouble((Double.doubleToLongBits(a)<<1)>>>1)
パラメータ:
a - double
戻り値:
引数の絶対値

max

public static int max(int a,
                      int b)
2 つの int 値のうち大きい方を返します。つまり、結果は Integer.MAX_VALUE の値に近いほうの引数となります。引数の値が同じ場合は同じ値を返します。
パラメータ:
a - int
b - int
戻り値:
ab のどちらか大きい方
関連項目:
Long.MAX_VALUE

max

public static long max(long a,
                       long b)
2 つの long 値のうち大きい方を返します。つまり、結果は Long.MAX_VALUE の値に近い方の引数となります。引数の値が同じ場合は同じ値を返します。
パラメータ:
a - long
b - long
戻り値:
ab のどちらか大きい方
関連項目:
Long.MAX_VALUE

max

public static float max(float a,
                        float b)
2 つの float 値のうち大きい方を返します。つまり、結果は正の無限大に近い方の引数となります。引数の値が同じ場合は同じ値を返します。どちらかの値が NaN の場合は NaN を返します。数値比較演算子とは異なり、このメソッドは負のゼロが厳密には正のゼロよりも小さいとされることを考慮します。一方の引数が正のゼロでもう一方が負のゼロの場合は、正のゼロを返します。
パラメータ:
a - float
b - float
戻り値:
ab のどちらか大きい方

max

public static double max(double a,
                         double b)
2 つの double 値のうち大きい方を返します。つまり、結果は正の無限大に近い方の引数となります。引数の値が同じ場合は同じ値を返します。どちらかの値が NaN の場合は NaN を返します。数値比較演算子とは異なり、このメソッドは負のゼロが厳密には正のゼロよりも小さいとされることを考慮します。一方の引数が正のゼロでもう一方が負のゼロの場合は、正のゼロを返します。
パラメータ:
a - double
b - double
戻り値:
ab のどちらか大きい方

min

public static int min(int a,
                      int b)
2 つの int 値のうち小さい方を返します。つまり、結果は Integer.MIN_VALUE の値に近いほうの引数となります。引数の値が同じ場合は同じ値を返します。
パラメータ:
a - int
b - int
戻り値:
ab のどちらか小さい方
関連項目:
Long.MIN_VALUE

min

public static long min(long a,
                       long b)
2 つの long 値のうち小さい方を返します。つまり、結果は Long.MIN_VALUE の値に近い方の引数となります。引数の値が同じ場合は同じ値を返します。
パラメータ:
a - long
b - long
戻り値:
ab のどちらか小さい方
関連項目:
Long.MIN_VALUE

min

public static float min(float a,
                        float b)
2 つの float 値のうち小さい方を返します。つまり、結果は負の無限大に近い方の値となります。引数の値が同じ場合は同じ値を返します。どちらかの値が NaN の場合は NaN を返します。数値比較演算子とは異なり、このメソッドは負のゼロが厳密には正のゼロよりも小さいとされることを考慮します。一方の引数が正のゼロでもう一方が負のゼロの場合は、負のゼロを返します。
パラメータ:
a - float
b - float
戻り値:
ab のどちらか小さい方

min

public static double min(double a,
                         double b)
2 つの double 値のうち小さい方を返します。つまり、結果は負の無限大に近い方の値となります。引数の値が同じ場合は同じ値を返します。どちらかの値が NaN の場合は NaN を返します。数値比較演算子とは異なり、このメソッドは負のゼロが厳密には正のゼロよりも小さいとされることを考慮します。一方の引数が正のゼロでもう一方が負のゼロの場合は、負のゼロを返します。
パラメータ:
a - double
b - double
戻り値:
ab のどちらか小さい方

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.