與數學相關的類
Math
所屬的包:java.lang
Java 的 Math 包含了用於執行基本數學運算的屬性和方法,如初等指數、對數、平方根和三角函式。
Math 的方法都被定義為 static 形式,通過 Math 類可以在主函式中直接呼叫。
通常的方法
方法 | 描述 |
---|---|
E abs(E) | 返回指定引數的絕對值(E:int,long,float,double) |
double ceil(double) | 向上取整 |
double floor(double) | 向下取整 |
double rint(double) | 取臨近的整數(如果兩邊距離一樣,則返回偶數) |
int round() | 返回四捨五入的整數 |
E max(E, E) | 取兩個數中較大的數(E:int,long,float,double) |
E min(E, E) | 取兩個數中較小的數(E:int,long,float,double) |
double pow(double, double) | 將第一個引數的值返回到第二個引數的冪 |
double sqrt(double) | 獲取給定引數的平方根 |
double random() | 產生一個[0.0-1.0)的隨機數 |
public class Test{
publlic static void main(String[] args){
System.out.println(Math.ceil(1.4));//1.0
System.out.println(Math.floor(1.4));//1.0
System.out.println(Math.rint(1.4));//1.0
System.out.println(Math.round(1.4));//1.0
System.out.println(Math.sqrt(16));//4.0
}
}
例項:
public class Test{
public static void main(Sting[] args){
//產生一個0-9的隨機整數
int value = (int)(Math.random() * 10);
System.out.println(value);
}
}
Random
所屬的包:java.util
沒有任何繼承關係,預設繼承Object類。
所有的方法都需要使用new物件呼叫。
構造方法:
Random random = new Random();
常用的方法:
方法 | 描述 |
---|---|
int nextInt() | 隨機產生一個int取值範圍的整數 |
int nextInt(int bound) | 隨機產生一個[0-bounf)的整數 |
float nextFloat() | 隨機產生一個[0.0-1.0)的值 |
boolean nextBoolean() | 隨機產生一個boolean的值 |
UUID
所屬的包:java.util
沒有任何繼承關係,預設繼承Object類
雖然有構造方法,但是一般不會建立物件
public class Test{
public static void main(String[] args){
UUID uuid = UUID.randomUUID();
System.out.println(uuid.toString());//資料庫表格主鍵 primary key
產生一個32位的隨機元素 每一個位置是一個16進位制的數字
}
}
BigInteger
所屬的包:java.math
繼承Number類
提供的構造方法都是帶引數的,通常利用帶String引數的構造方法建立這個類的物件
BigInteger類可以描述比long型別大的資料,可以解決資料溢位的問題,
常用方法:做四則運算
add() subtract() multiply() divide()
//設計一個方法 用來計算給定數字的階乘
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;
}
public class Test{
public static void main(String[] args){
BigInteger big1 = new BigInteger("123");
BigInteger big2 = new BigInteger("456");
big1.add(big2);
big1.subtract(big2);
big1.multiply(big2);
big1.divide(big2);
//建立物件 呼叫計算階乘的方法
TestMath tm = new TestMath();
BigInteger bi = tm.factorial(10);
System.out.println(bi.toString());
}
}
BigDecima
所屬的包:java.math
繼承Number類
提供的構造方法都是帶引數的,通常利用帶String引數的構造方法建立這個類的物件
BigDecimal 類則是針對很大的小數的處理類精度比較高,可以處理金融類業務,如果對計算的資料要求高精度時,必須使用BigDecimal類
常用方法:做四則運算
add() subtract() multiply() divide()
public class Test{
public static void main(String[] args){
BigDecimal bd = new BigDecimal("123.456");
//小數點之後保留兩位 按照向下取整的方式進行擷取
bd = bd.setScale(2,BigDecimal.ROUND_DOWN);
System.out.println(bd);//123.45
}
}
DecimaFormat
所屬的包:java.text
通過String引數的構造方法建立一個格式化物件
public class Test{
public static void main(String[] args){
DecimalFormat df = new DecimalFormat("000.###");//0表示必須有 #表示可有可無 四捨五入原則
String value = df.format(123.456789);
System.out.println(value);//123.457
}
}
相關文章
- 數學建模 資料處理模型之變數相關性類(灰色相關聯、相關性分析)模型變數
- 統計學三大相關係數之Pearson相關係數、Spearman相關係數
- day18_常用類(時間相關的類丶數字類)
- 時間相關的工具類
- 數學模型——數學與人類文明的橋樑模型
- 課時40:類與物件:一些相關的BIF物件
- StringBuilder類相關操作UI
- 通俗解釋協方差與相關係數
- 數論相關
- Spark的相關引數配置Spark
- 機率論11 協方差與相關係數
- Android application類相關記錄AndroidAPP
- 二維碼相關工具類
- 零基礎學Java第四節(字串相關類)Java字串
- pga相關引數
- [轉帖]Redis相關的核心引數解釋與設定Redis
- 硬核 - Java 隨機數相關 API 的演進與思考(上)Java隨機API
- Java中陣列及相關類的使用Java陣列
- Java Thread 類相關的幾個核心方法Javathread
- Java執行緒類相關面試題與答案總結Java執行緒面試題
- 類與類之間的基本關係
- 一個與CONNECT BY相關的BUG
- pg中與執行計劃相關的配置(ENABLE_*)引數
- ImageUtils-圖片相關工具類
- arm相關學習
- PostgreSQL AutoVacuum 相關引數SQL
- MySQL效能相關引數MySql
- 線性代數相關
- 相愛相殺:程式設計師的數學程式設計師
- 嘗試討論線性方程組相關數學原理、機器學習模型引數求解的數學本質機器學習模型
- JVM相關 - StackOverflowError 與 OutOfMemoryErrorJVMError
- c++類與類的聚合(Aggregation)關係C++
- 2020-11-30 Mybatis 學習筆記 (二)建立java相關類MyBatis筆記Java
- 有關Dialog類的相關資訊【對話方塊的介紹】
- HTTP與快取相關的頭部HTTP快取
- JPA透過表反向生成相關類
- MySQL索引分類及相關概念辨析MySql索引
- 【CG】圖形學相關