Java学習ノート(十)Number&Mathクラス

21324 ワード

文書ディレクトリ
  • 一、Number&Mathクラス
  • (一)、Number類
  • (二)、Math類
  • (三)、Number&Mathクラスメソッド
  • 一、Number&Mathクラス
    (一)、Number類
    Javaを使用すると、開発中にオブジェクトがよく使用されるため、Javaは内蔵データ型ごとに対応するパッケージクラスを提供します.これらのパッケージクラスはすべて抽象クラスNumberのサブクラスであり、Numberクラスはjava.langパッケージに属します.
    組み込みデータ型
    対応するパッケージクラス
    int
    Integer
    short
    Short
    long
    Long
    byte
    Byte
    double
    Double
    float
    Float
    このようなコンパイラによって特にサポートされるパッケージを箱詰めと呼ぶため、組み込みデータ型がオブジェクトとして使用されると、コンパイラは組み込みタイプをパッケージクラスとして箱詰めする.同様に、コンパイラはオブジェクトを内蔵タイプに分解することもできます.
    package day5;
    
    public class NumberMath {
           public static void main(String[] args) {
                  // TODO Auto-generated method stub
                  Integer data = 10;//    Integer  
                  System.out.println(data+5);//    ,         
           }
    }
    

    (二)、Math類
    JavaのMathクラスには数学の基本演算,三角関数,指数関数,対数などの演算方法が含まれており,これらの方法はすべてstatic形式であり,Mathクラスを介して直接呼び出すことができる.例は以下の通りです.
    package day5;
    
    public class NumberMath {
           public static void main(String[] args) {
                  // TODO Auto-generated method stub
                  System.out.println("PI="+Math.PI);
                  System.out.println("cos(π/4)="+Math.cos(Math.PI/4));//    
                  System.out.println("log10(100)="+Math.log10(100));//    
                  System.out.println("2^3="+Math.pow(2, 3));//    
           }
    }
    

    出力情報は以下の通りです.
    PI=3.141592653589793
    cos(π/4)=0.7071067811865476
    log10(100)=2.0
    2^3=8.0
    

    (三)、Number&Mathクラスメソッド
    Numberクラスメソッドは次のとおりです.
  • xxxValue():Numberオブジェクトを対応するxxxデータ型に変換して返します.次の例のように.
  •     Integer idata = 10;//    Integer  
        Float fdata = idata.floatValue();//  Number           ,fdata 10.0
        short sdata = fdata.shortValue();//  Number            ,sdata 10
    
  • compareTo():同じタイプのNumberオブジェクトとパラメータのサイズを比較し、Numberオブジェクトの値がパラメータより大きい場合は1、等しい場合は0、小さい場合は-1を返します.次の例のように.
  •     Integer idata = 10;
        idata.compareTo(1);//  1
        idata.compareTo(10);//  0
        idata.compareTo(20);//  -1
    
  • equals():Numberオブジェクトとパラメータが同じかどうかを判断します.同じ場合はtrueを返し、そうでない場合はfalseを返します.
  • valueOf():与えられたパラメータのオリジナルNumberオブジェクト値を返すために使用され、パラメータはオリジナルデータ型であってもよい.
  • toString():文字列で表されるNumberオブジェクトの値を返します.
  • parseInt():文字列パラメータをシンボル付き10進数整数として解析します.次の例のように.
  •   int decimal = Integer.parseInt("614");//     10,            ,                
      System.out.println(decimal);
      int octal = Integer.parseInt("10", 8);//     8,            ,                
      System.out.println(octal);
      /*     
    614
    8
    */
    

    Mathクラスメソッドは次のとおりです.
  • abs():パラメータの絶対値を返します.
  • ceil():doubleというタイプの、与えられたパラメータ以上の最小整数を返します.
  • floor():doubleのタイプで、与えられたパラメータ以下の最大整数を返します.(下向きに整列)
  • rint():パラメータに最も近い整数を返します.タイプはdoubleです.パラメータがfloat/doubleで中位値の場合、パラメータに最も近い偶数(even)が返されます.パラメータが1.5の場合は2.0、パラメータが2.5の場合は2.0を返します.(最も近い数を探す)
  • round():四捨五入を表し、アルゴリズムはMath.floor(x+0.5)で、元の数字に0.5を加えて下に整列します.戻り値タイプはlongです.(四捨五入)
  • 以下、ceil()、floor()、rint()およびround()で比較する.
      //ceil     >=     double   (    )
      System.out.println(Math.ceil(1.4));//2>1.4
      System.out.println(Math.ceil(1.5));//2>1.5
      System.out.println(Math.ceil(-1.4));//-1.0>-1.4
      System.out.println(Math.ceil(-1.5));//-1.0>-1.5
    
      //floor     <=     double   (    )
      System.out.println(Math.floor(1.4));//1.4>1.0
      System.out.println(Math.floor(1.5));//1.5>1.0
      System.out.println(Math.floor(-1.4));//-1.4>-2.0
      System.out.println(Math.floor(-1.5));//-1.5>-2.0
    
      //rint()            double  
      System.out.println(Math.rint(1.4));//1.0   1.4
      System.out.println(Math.rint(1.5));//1.5    ,     2.0
      System.out.println(Math.rint(-1.4));//-1.0   -1.4
      System.out.println(Math.rint(-1.5));//-1.5    ,     -2.0
    
      //round()                  0.5                int、long  
      System.out.println(Math.round(1.4));//   1
      System.out.println(Math.round(1.5));//   2
      System.out.println(Math.round(-1.4));//   -1
      System.out.println(Math.round(-1.5));//      floor(-1.5+0.5) -1
      System.out.println(Math.round(-1.6));//     -2
    

    結果は次のとおりです.
    クラスメソッド
    結果を返す
    Math.ceil(1.4)
    2.0
    Math.ceil(1.5)
    2.0
    Math.ceil(-1.4)
    -1.0
    Math.ceil(-1.5)
    -1.0
    Math.floor(1.4)
    1.0
    Math.floor(1.5)
    1.0
    Math.floor(-1.4)
    -2.0
    Math.floor(-1.5)
    -2.0
    Math.rint(1.4)
    1.0
    Math.rint(1.5)
    2.0
    Math.rint(-1.4)
    -1.0
    Math.rint(-1.5)
    -2.0
    Math.round(1.4)
    1
    Math.round(1.5)
    2
    Math.round(-1.4)
    -1
    Math.round(-1.5)
    -1
    Math.round(-1.6)
    -2
  • min():2つのパラメータの最小値を返します.
  • max():2つのパラメータの最大値を返します.
  • exp():自然数の底数eのパラメータ次数を返します.
  • log():パラメータの自然数の底数の対数値を返します.
  • pow():最初のパラメータの2番目のパラメータ次数を返します.
  • sqrt():パラメータの算術平方根を返します.
  • sin()、cos()、tan()、asin()、acos()、atan():指定したdoubleタイプパラメータの正弦値、コサイン値、正接値、逆コサイン値、逆コサイン値を返します.
  • atan 2():矩形座標(x,y)を極座標(r,theta)に変換し、得られた角thetaを返します.この方法は,−piからpiまでの範囲のy/xの逆接線値を計算することによって相角thetaを計算する.
  • toDegrees():パラメータを角度に変換します.
  • toRadians():角度(degree)をラジアン(radians)に変換します.
  •     System.out.println(Math.toRadians(180));//  pi
        System.out.println(Math.toDegrees(Math.PI));//  180
    
  • random():doubleタイプの乱数を返します.

  • 参考リンク:菜鳥チュートリアル-Number&Mathクラス