數學處理類
Math類
基本概念
- java.lang.Math類主要用於提供執行數學運算的方法,如:對數,平方根。
常用方法
public class MathTest {
public static void main(String[] args) {
// static int max(int a, int b)
System.out.println("獲取兩個整數中最大值的結果是:" + Math.max(10, 20)); // 20
// static int min(int a, int b)
System.out.println("獲取兩個整數中最小值的結果是:" + Math.min(10, 20)); // 10
// static double pow(double a, double b)
System.out.println("獲取次方的結果是:" + Math.pow(2, 3)); // 8.0 返回第一個引數的冪,體現double型別
// static int abs(int a)
System.out.println("獲取絕對值的結果是:" + Math.abs(-5)); // 5
// static long round(double a)
System.out.println("進行四捨五入的結果是:" + Math.round(3.14)); // 3
// static double sqrt(double a)
System.out.println("該整數的平方根是:" + Math.sqrt(16)); // 4.0
// static double random()
System.out.println("生成的隨機數是:" + Math.random()); // 返回0.0到1.0的隨機數
}
}
BigDecimal類
基本概念
- 由於float型別和double型別在運算時可能會有誤差,若希望實現精確運算則藉助 java.math.BigDecimal型別加以描述。
常用方法
基礎知識:
- BigDecimal類裡面沒有在整數後面加 .0 體現小數的概念(見下方divide方法)
- 除不盡時要用RoundingMode.HALF_UP四捨五入(RoundingMode:舍入模式)
import java.math.BigDecimal;
import java.math.RoundingMode;
public class BigDecimalTest {
public static void main(String[] args) {
// 1.構造BigDecimal型別的兩個物件
// BigDecimal(String val)
BigDecimal bd1 = new BigDecimal("5.2");
BigDecimal bd2 = new BigDecimal("1.3");
// 2.使用構造完畢的物件實現加減乘除運算
System.out.println("實現加法運算的結果是:" + bd1.add(bd2)); // 6.5
System.out.println("實現減法運算的結果是:" + bd1.subtract(bd2)); // 3.9
System.out.println("實現乘法運算的結果是:" + bd1.multiply(bd2)); // 6.76
System.out.println("實現除法運算的結果是:" + bd1.divide(bd2)); // 4
System.out.println("---------------------------------------------------------------");
// 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
System.out.println("---------------------------------------------------------------");
// 4.注意事項
BigDecimal bd5 = new BigDecimal("2");
BigDecimal bd6 = new BigDecimal("0.3");
System.out.println("除法運算的結果是:" + bd5.divide(bd6, RoundingMode.HALF_UP)); // 7
}
}
BigInteger類
基本概念
- 若希望表示比long型別範圍還大的整數資料,則需要藉助java.math.BigInteger型別描述。
常用方法
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
}
}
}
相關文章
- (1) Pytorch深度學習—數值處理PyTorch深度學習
- 使用Octave音訊處理(三):數學技術處理音訊檔案音訊
- 數學建模 資料處理模型之變數相關性類(灰色相關聯、相關性分析)模型變數
- php 處理 浮點數 精度運算 數字處理等PHP
- java 圖片水印處理類Java
- java 檔案處理 工具類Java
- Java Sting類關於split處理空串以及擷取最大數Java
- MyBatis 引數處理MyBatis
- Java學習筆記-Day21 Java System類、Class類、內部類、異常處理Java筆記
- Android許可權處理分類Android
- Photoshop類圖片處理軟體
- 記錄Laravel異常處理類Laravel
- 分享一個圖片處理類
- 關於一類資料處理
- 重寫Laravel異常處理類Laravel
- 大數加法(處理不了負數)
- python處理浮點數Python
- 數字影象處理DIP
- java學習:虛擬機器對於方法中引數為類型別的如何處理的Java虛擬機型別
- rust學習十、異常處理(錯誤處理)Rust
- 如何用機器學習處理二元分類任務?機器學習
- OpenCV計算機視覺學習(12)——影像量化處理&影像取樣處理(K-Means聚類量化,區域性馬賽克處理)OpenCV計算機視覺聚類
- java新特性處理時間工具類Java
- 形態學影像處理
- JavaScript 中的引數處理JavaScript
- 訊號處理基本引數
- Mybatis引數處理總結MyBatis
- Transact-SQL處理小數SQL
- 數字影像處理學習筆記(1)——傅立葉變換在影像處理中的應用筆記
- 前端如何優雅處理類陣列物件?前端陣列物件
- 一個日期處理類庫moment.jsJS
- LocalDate,LocalDateTime和處理時間、日期工具類LDA
- 數理統計——新聞分類
- 重學Java - 異常處理Java
- 學習Rust 錯誤處理Rust
- 數字影象處理-第一節
- 聊聊介面最大併發處理數
- [00]數字影像處理-matlab速成Matlab