>[success] # Math
1. **java.lang.Math**類主要用于提供執行數學運算的方法,如:**對數,平方根**
>[danger] ##### 常用的方法
|方法聲明 |功能介紹|
|--|--|
|static int max(int a, int b) |返回兩個參數中的最大值|
|static int min(int a, int b) |返回兩個參數中的最小值|
|static double pow(double a, double b) |返回第一個參數的冪|
|static int abs(int a) |返回參數指定數值的絕對值|
|static long round(double a) |返回參數四舍五入的結果|
|static double sqrt(double a) |返回參數的平方根|
|static double random() |返回0.0到1.0的隨機數|
~~~
package javaTest;
public class JavaTest {
public static void main(String[] args) {
System.out.println("獲取兩個整數中最大值的結果是:" + Math.max(10, 20)); // 20
System.out.println("獲取兩個整數中最小值的結果是:" + Math.min(10, 20)); // 10
System.out.println("獲取次方的結果是:" + Math.pow(2, 3)); // 8.0 體現double類型
System.out.println("獲取絕對值的結果是:" + Math.abs(-5)); // 5
System.out.println("進行四舍五入的結果是:" + Math.round(3.14)); // 3
System.out.println("該整數的平方根是:" + Math.sqrt(16.5)); // 4.06201920231798
System.out.println("生成的隨機數是:" + Math.random()); // 隨機數
}
}
~~~
>[info] ## BigDecimal
1. 由于**float**類型和**double**類型在運算時可能會有誤差,若希望實現精確運算則借助**java.math.BigDecimal**類型加以描述
>[danger] ##### 常用的方法
|方法聲明| 功能介紹|
|--|--|
|BigDecimal(String val) |根據參數指定的字符串來構造對象|
|BigDecimal add(BigDecimal augend)| 用于實現加法運算|
|BigDecimal subtract(BigDecimal subtrahend)| 用于實現減法運算|
|BigDecimal multiply(BigDecimal multiplicand)| 用于實現乘法運算|
|BigDecimal divide(BigDecimal divisor)| 用于實現除法運算|
~~~
import java.math.BigDecimal;
import java.math.RoundingMode;
public class BigDecimalTest {
public static void main(String[] args) {
// 使用 BigDecimal 函數
BigDecimal b1 = new BigDecimal("3.9");
BigDecimal b2 = new BigDecimal("3");
// 開始進行計算
System.out.println("實現加法運算的結果是:" + b1.add(b2)); // 6.9
System.out.println("實現減法運算的結果是:" + b1.subtract(b2)); // 0.9
System.out.println("實現乘法運算的結果是:" + b1.multiply(b2)); // 11.7
System.out.println("實現除法運算的結果是:" + b1.divide(b2)); // 1.3
// 實現精確運算
System.out.println(0.1 + 0.2); // 0.30000000000000004
BigDecimal bd3 = new BigDecimal("0.1");
BigDecimal bd4 = new BigDecimal("0.2");
System.out.println("精確計算的結果是:" + bd3.add(bd4)); // 0.3
// BigDecimal 是進行精準計算的如果 在除不盡的情況下會報錯
BigDecimal bd5 = new BigDecimal("2");
BigDecimal bd6 = new BigDecimal("0.3");
// // Exception in thread "main" java.lang.ArithmeticException: Non-terminating
// decimal expansion; no exact representable decimal result.
// System.out.println("除法運算的結果是:" + bd5.divide(bd6));
// 此時需要使用一些 類型規定其值精準度 類似RoundingMode.HALF_UP表示四舍五入
System.out.println("除法運算的結果是:" + bd5.divide(bd6, RoundingMode.HALF_UP)); // 7
}
}
~~~
>[info] ## BigInteger
1. 希望表示比long類型范圍還大的整數數據,則需要借助**java.math.BigIntege**r類型描述
>[danger] ##### 常用方法
|方法聲明 |功能介紹|
|--|--|
|BigInteger(String val) |根據參數指定的字符串來構造對象|
|BigInteger add(BigInteger val) |用于實現加法運算|
|BigInteger subtract(BigInteger val) |用于實現減法運算|
|BigInteger multiply(BigInteger val)| 用于實現乘法運算|
|BigInteger divide(BigInteger val) |用于實現除法運算|
|BigInteger remainder(BigInteger val) |用于實現取余運算|
|BigInteger[] divideAndRemainder(BigInteger val) |用于實現取商和余數的運算|
~~~
import java.math.BigInteger;
public class BigIntegerTest {
public static void main(String[] args) {
// 1.構造兩個BigInteger類型的對象并指定初始值
BigInteger bi1 = new BigInteger("20");
BigInteger bi2 = new BigInteger("8");
// 2.實現加減乘除取余操作并打印
System.out.println("實現加法運算的結果是:" + bi1.add(bi2)); // 28
System.out.println("實現減法運算的結果是:" + bi1.subtract(bi2)); // 12
System.out.println("實現乘法運算的結果是:" + bi1.multiply(bi2)); // 160
System.out.println("實現除法運算的結果是:" + bi1.divide(bi2)); // 2
System.out.println("實現取余運算的結果是:" + bi1.remainder(bi2)); // 4
System.out.println("-----------------------------------------------------");
// 3.一次性得到商和余數
BigInteger[] arr = bi1.divideAndRemainder(bi2);
for (int i = 0; i < arr.length; i++) {
System.out.println("下標為" + i + "的元素是:" + arr[i]); // 2 4
}
}
}
~~~
- windows -- 環境變量
- Vscode -- 編寫java
- 初始java
- java -- 關鍵字
- 編寫第一個java程序
- java -- 注釋
- 計算機存儲 -- 進制
- java -- 類型
- java -- 變量
- 數字類型
- 布爾類型
- 字符類型
- 類型轉換
- 雙等比較是什么
- java -- 運算符
- 算數運算符
- 字符串拼接
- 關系/比較運算符
- 自增減運算符
- 邏輯運算符
- 三目運算
- 賦值運算符
- 移位運算符
- 位運算符
- 運算符優先級
- java -- 流程控制語句
- if /else if /if -- 判斷
- switch case分支結構
- for -- 循環
- 用雙重for循環
- while -- 循環
- do while -- 循環
- 案例練習
- java -- 數組
- 數組的存儲
- 數組的增刪改查
- 數組的特點
- 數組案例
- 二維數組
- 數組的工具方法
- java -- 方法
- java -- 方法的重載
- java -- 方法的調用流程
- java -- 類方法傳參注意事項
- java -- 方法練習案例
- 對比 return break continue
- for each循環
- java -- 基礎練習
- java -- 面向對象
- java -- 創建類和對象
- java -- 訪問控制符
- java -- 類成員方法
- java -- 構造方法
- java -- this
- java -- 封裝
- java -- 對象內存圖
- java -- 創建對象案例
- java -- static
- java -- 繼承
- super -- 關鍵字
- java -- 構造塊和靜態代碼塊
- java -- 重寫
- java -- final
- java -- 多態
- java -- 抽象類
- java -- 接口
- 引用類型數據轉換
- 綜合案例
- java -- 內部類
- java -- 回調模式
- java -- 枚舉類型
- java -- switch 使用枚舉
- java -- 枚舉方法使用
- java -- 枚舉類實現接口
- java -- javaBean
- java -- package 包
- java -- import
- java -- 遞歸練習
- java -- 設計模式
- 單例模式
- java -- 注解
- java -- 元注解
- Java -- 核心類庫
- java -- 處理字符串
- Java -- String
- String -- 常用方法
- String -- 正則
- Java -- StringBuilder 和 StringBuffer
- 知識點
- Java -- StringJoiner 字符串拼接
- 練習題
- 字符串的總結
- Java -- 包裝類
- Integer
- Double
- Boolean
- Character
- java -- 集合類
- java -- util.Collection
- Iterator接口
- java -- util.List
- java -- ArrayList
- java -- util.Queue
- java -- util.Set
- java -- util.Map
- java -- util.Collections
- Java -- Math
- Java -- java.lang
- Java -- Object
- Java -- 獲取當前時間戳
- Java -- 異常
- Java -- java.util
- java -- Date
- java -- Calender
- Java -- java.text
- Java -- SimpleDateFormat
- Java -- java.time
- Java -- java.io
- java -- io.File
- java -- 泛型
- IDEA -- 用法