0
1

More than 3 years have passed since last update.

java.lang.Mathのメソッドを使ってみる

Last updated at Posted at 2019-10-28

はじめに

 本記事は、筆者のアウトプット練習の一環として、数学的計算で用いられる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

あとがき

...使いそうなものがまた発見出来たら更新します。

0
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1