#はじめに
本記事は、筆者のアウトプット練習の一環として、数学的計算で用いられるAPIであるjava.lang.Mathのメソッドをメモしようと思います。説明等おかしいところがありましたら指摘してもらえると助かります。
参考:公式 java.lang.Math
#abs
引数にとった整数の絶対値を求める。
int num1 = Math.abs(-1); //num1 = 1
#max, min
二つの引数のうち大きい方(小さい方)を返す。
int num2 = Math.max(1,2); //num2 = 2
int num3 = Math.min(1,2); //num3 = 1
#random
0.0以上で1.0より小さい、正の符号の付いたdouble値を返す。整数値にしたい場合は任意の倍数をかけてからキャストする。
※キャストした後乗算した場合、キャスト時に小数点以下が切り捨てられるため 0 のみ返却されてしまう。
//0~1000の範囲でランダムな値をとる
int num4 = (int)(Math.random()*1000);
#log, log10
log
は自然対数、log10
は常用対数の値を返す。
※ Math.E
: 自然対数の底$e$。定数として定義されている。Math.PI
(円周率$π$)も定義されている。
double num5 = Math.log(Math.E); //num5 = 1.0
double num6 = Math.log10(100); //num6 = 2.0
#sin, cos, tan
三角関数のメソッド。引数にはラジアンを入力する。弧度法の引数を入力したい場合は$\frac{π}{180}$を掛けることで変換できる。
※逆三角関数(asinなど)・双曲線関数(sinhなど)も用意されている。
(追記 10/29)弧度法で入力したい場合、Math.toRadians(double angdeg)
メソッドを用いればラジアンに変換してくれる。
double num7 = Math.sin(Math.PI/4); //1/√2 の近似値
double num8 = Math.cos(Math.PI/4); //1/√2 の近似値
double num9 = Math.tan(Math.toRadians(45));//1(0.9999999999999999)
#pow
第一引数を第二引数で累乗したdouble値を返す。整数値として扱う場合はキャストする。
double num10 = Math.pow(10, 4); //num10 = 10000.0
#exp, expm1
前者は自然対数の底$e$の累乗値を返し、後者は前者から1引いた数を返す。物理系や統計学で使いそう...?
double num11 = Math.exp(2); // e^2
double num12 = Math.expm1(2);// e^2 -1
#sqrt, cbrt
平方根・立方根を返す。
double num13 = Math.sqrt(9); //num13 = 3.0
double num14 = Math.cbrt(64); //num14 = 4.0
#あとがき
...使いそうなものがまた発見出来たら更新します。