一、概述
- Math是最終類,且構造函數被私有化,所以不允許創建對象。但是提供了一系列的靜態方法---完全作為了工具類使用。
- 只提供了初等的運算。
二、常量
- E :底數 ,是所有自然數的底數。
- PI :π ,圓周率 。
-
三、方法
- ceil() : 向上取整。 返回doouble類型的值。
- floor() : 向下取整。 返回都變了類型的值。
- round() : 四舍五入。返回long類型的值
- max(Int arg,int arg2) : 返回最大值。
- min() : 返回最小值。
- pow(int arg1,int arg2) : 求第一個參數的第二個參數次冪。
- random() : 返回一個 [0,1) 的隨機小數 eg : 獲取一個30~50之間的隨機整數 Int i = (int )(Math.random*21 +30);
- strictfp方法修飾符 : 要求小數在運算過程中以80位 二進制來算,但是最后仍然以64位存放結果; 小數在計算機中不能精確存儲,doouble 在計算機中是以64位 二進制存儲和運算。
- BigDecimal類: 一個精確運算小數的類。 BigDecimal d1 = new BigDecimal("1.2"); BigDecimal d2 = new BigDecimal("0.99"); d1.subtract(d2);//執行減法 注意:參數必須是字符串。底層實現: 字符串底層是以字符數組存儲,運算時字符數組按位相減,相當於整數運算,保證了運算的精確性。
- 注意: 絕大部分十進制小數轉換為二進制時都是無限的,所以計算機不能精確表示和存儲小數。