しゅほうしき


java.lang.Mathクラス


Mathクラスは,数学でよく用いられる定数と関数をあらかじめ実現するクラスである.
Mathクラスのすべてのメソッドはクラスメソッド(static method)であり、オブジェクトを作成することなく使用できます.
これらのMathクラスはjavaです.langパッケージに含まれます.

Math.EとMath。PI


Mathクラスで定義されているクラスフィールドは次のとおりです.

1. Math.E


:化油器と呼ばれる数は、自然対数(natural log算術)の底部(base)値で、約2.718である.

2. Math.PI


:円の円周と直径の比(円周率)、約3.14159.

ランダム()メソッド


random()メソッドは、0.0または1.0未満の範囲で作成された任意の2値を返します.
このメソッドは内部でjavaです.utilパッケージのランダムクラス擬似乱数発生器(pseudorandom-numbergenerator)を使用して任意の数を生成します.
次の例では、Mathクラスのrandom()メソッドを使用して、0から99までの番号を作成します.
System.out.println((int)(Math.random() * 100)); // 0 ~ 99

Random ran = new Random();
System.out.println(ran.nextInt(100));           // 0 ~ 99
JavaはMathクラスのrandom()メソッドだけではありません.utilパッケージに含まれるRandomクラスのnextInt()メソッドを使用して整数を作成できます.
特定の範囲に属する数値を作成する場合は、次のように数値を作成する範囲を調整します.
(int)(Math.random() * 6);       // 0 ~ 5

((int)(Math.random() * 6) + 1); // 1 ~ 6

((int)(Math.random() * 6) + 3); // 3 ~ 8

abs()メソッド


伝達された値が負の場合、abs()メソッドはその値の終端値を返し、伝達された値が正の場合、伝達された値を返します.

System.out.println(Math.abs(10));    // 10

System.out.println(Math.abs(-10));   // 10

System.out.println(Math.abs(-3.14)); // 3.14

実行結果

10

10

3.14

floor()メソッド、ceil()メソッド、round()メソッド


floor()メソッドが返す整数は、引数から伝達される値に等しいか、または小さい.
さらにceil()メソッドが返す整数は、パラメータとして渡される値と同じまたは最大です.
round()メソッドは、小数点の1番目の四捨五入の整数を返します.

System.out.println(Math.ceil(10.0));      // 10.0

System.out.println(Math.ceil(10.1));      // 11.0

System.out.println(Math.ceil(10.000001)); // 11.0

 

System.out.println(Math.floor(10.0));     // 10.0

System.out.println(Math.floor(10.9));     // 10.0

 

System.out.println(Math.round(10.0));     // 10

System.out.println(Math.round(10.4));     // 10

System.out.println(Math.round(10.5));     // 11

実行結果

10.0
11.0
11.0 

10.0
10.0

10
10
11

max()メソッドとmin()メソッド


max()メソッドは2つの伝達値の大きな値を返し、min()メソッドは小さい値を返します.

System.out.println(Math.max(3.14, 3.14159)); // 3.14159

System.out.println(Math.min(3.14, 3.14159)); // 3.14

System.out.println(Math.max(-10, -11));      // -10

System.out.println(Math.min(-10, -11));      // -11

実行結果

3.14159

3.14

-10

-11

pow()メソッドとsqrt()メソッド


pow()法は,伝達された2つの二値を用いて二乗演算を行う.
例えば、pow(a,b)は、aのb乗、すなわちabを返す.
逆に、sqrt()メソッドは、伝達された二重値の平方根値を返します.


System.out.println((int)Math.pow(5, 2)); // 25

System.out.println((int)Math.sqrt(25));  // 5

実行結果

25

5

sin()メソッド、cos()メソッド、tan()メソッド


Javaは多くの三角関数を提供し、三角関数に関連する様々な演算を簡略化することができる.
sin()法は伝達された二重値の識別値を返し,cos()法はコサイン値を返し,tan()法はカーボンナノチューブ値を返した.
このほか、Mathクラスでは、三角関数に関連する次の方法が提供されます.
  • asin(), acos(), atan(), atan2(), sinh(), cosh(), tanh()
  • 次の例ではjavaの三角関数メソッドを使用して、デフォルトの三角関数の数値をチェックします.

    System.out.println(Math.sin(Math.toRadians(30)));
    
    System.out.println(Math.sin(Math.PI / 6));
    
     
    
    System.out.println(Math.tan(Math.toRadians(45)));
    
    System.out.println(Math.tan(Math.PI / 4));
    
     
    
    System.out.println(Math.cos(Math.toRadians(60)));
    
    System.out.println(Math.cos(Math.PI / 3));

    実行結果

    0.49999999999999994
    
    0.49999999999999994
    
    0.9999999999999999
    
    0.9999999999999999
    
    0.5000000000000001
    
    0.5000000000000001
    上記の例に示すようにjava三角関数に関する方法では正しい値は与えられません.
    これは,コンピュータが誤りを表す浮動小数点方式の限界のためであり,すべての言語でこのような状況が発生する.
    実数表現の詳細については、Java実数表現コースを参照してください.