工具類之數學方法

與數學相關的類

Math

  1. 所屬的包java.lang

  2. Math構造方法是私有的 我們不能直接調用創建對象

  3. 由於Math中提供的屬性及方法都是static 不需要創建對象

  4. 常用的方法

    abs()返回給定數字的絕對值 (參數 int long float double)
    double = ceil() 向上取整
    double = floor() 向下取整
    double = rint() 臨近的整數 如果兩邊距離一樣 則返回偶數
    int = round() 四捨五入的整數
    max(a,b) min(a,b) (參數int long float double)
    pow(a,b) a的b次方 (參數double 返回值double)
    sqrt(double a) 獲取給定參數的平方根
    double = random(); 隨機產生一個 [0.0–1.0)

  5. Math.random()計算小數的時候精確程度可能有些損失

    ​ 0-9之間的隨機整數
    ​ int value = (int)(Math.random()*10);
    ​ 5.0—10.9之間的小數
    ​ (Math.random()*6)+5
    ​ 0.0—0.99999 * 6
    ​ (0.0—5.49999)+5

Random類

  1. 在java.util包中的類 需要import導入

  2. 沒有任何繼承關係 默認繼承Object類

  3. 查找構造方法—>如何創建對象

    Random r = new Random();

  4. 類中提供的常用方法
    r.nextInt();          隨機產生 int取值範圍的整數 有正有負
    r.nextInt(int bound);      隨機產生一個 [0–bound) 整數
      注意bound必須爲正數     否則會出現如下的運行時異常
      IllegalArgumentException
       r.nextFloat()  隨機產生一個 [0.0—1.0)
       r.nextBoolean()  隨機產生一個boolean值 true false

UUID類

  1. 所屬的包 java.util       需要import導入
  2. 沒有任何繼承關係       默認繼承Object類
  3. 構造方法有   沒有無參數的 我們通常不會創建對象
       UUID uuid = UUID.randomUUID();
       System.out.println(uuid.toString());//數據庫表格主鍵 primary key
       產生一個32位的隨機元素 每一個位置是一個16進制的數字

BigInteger類 大整數

long -2的63次方 ~ 2的63次方-1

  1. 所屬的包java.math 需要import導入
  2. 繼承自Number
  3. 如何創建對象 提供的構造方法全部都是帶參數的
    通常利用帶String參數的構造方法創建這個類的對象
    BigInteger bi = new BigInteger(“123”);
  4. 類中的常用方法
    做四則運算
    add() subtract() multiply() divide()
  5. 小例子 設計一個方法 用來計算給定數字的階乘 5 12345==120
      //設計一個方法 用來計算給定數字的階乘
      //參數 返回值
      public BigInteger factorial(int num){
         BigInteger result = new BigInteger(“1”);
         for(int i=1;i<=num;i++){
           result = result.multiply(new BigInteger(i+""));
         }
         return result;
      }

BigDecima類

超過了double取值範圍

  1. 所屬的包 java.math包
  2. 繼承Number類
  3. 通常也是可以通過 帶String參數 構建對象
  4. 類中的常用方法
    做四則運算
    add() subtract() multiply() divide()
    兩個參數前面是保留小數點之後的位數 後面參數是設置的模式
    對象.setScale(2,BigDecimal.ROUND_DOWN);

DecimalFormat

將小數點之前和之後的位數都能處理的類---->格式化

  1. 所屬的包 java.text
  2. import導入才能使用
  3. 通過帶String參數的構造方法創建一個格式化對象 0 #
  4. 調用format方法將一個小數格式化成一個字符串
    DecimalFormat df = new DecimalFormat(“000.###”);// 0 #
    String value = df.format(12.45);
    System.out.println(value);

其他常用類

Scanner類

  1. 所屬的包java.util包 需要import導包
  2. 通過一個帶輸入流的構造方法創建對象
  3. 常用方法 nextInt() nextFloat() next() nextLine()

System類

  1. 所屬的包java.lang包 不需要導入
  2. 不需要創建對象 通過類名就可以訪問
  3. 有三個屬性及若干的方法
    三個屬性out in err
    方法gc() exit(0); currentTimeMillis();
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章