1. 程式人生 > 其它 >Java數字類Number和Math

Java數字類Number和Math

Number類

Java是純面向物件程式語言,為了以物件的方式使用內建資料型別,比如byte、int、long、double等,Java對它們進行了封裝,封裝後的類稱為包裝類。這裡的封裝一般也叫做裝箱,反之叫做拆箱。

所有的數字包裝類,都是抽象基類Number的子類,包括Byte、Short、Integer、Long、Float、Double。

示例:

public class Test{
   public static void main(String[] args){
      Integer x = 5;  // 裝箱
      x =  x + 10;  // 拆箱
      System.out.println(x); 
   }
}

Math類

為了支援數學運算,Java提供了Math類,可以進行指數、對數、平方根等數學運算。

示例:

public class Test {  
    public static void main (String []args)  
    {  
        System.out.println("90 度的正弦值:" + Math.sin(Math.PI/2));  
        System.out.println("0度的餘弦值:" + Math.cos(0));  
        System.out.println("60度的正切值:" + Math.tan(Math.PI/3));  
        System.out.println("1的反正切值: " + Math.atan(1));  
        System.out.println("π/2的角度值:" + Math.toDegrees(Math.PI/2));  
        System.out.println(Math.PI);  
    }  
}

對於四捨五入,Math提供了round、floor、ceil三個方法:

  • round:四捨五入
  • floor:向下取整
  • ceil:向上取整(返回double型別)

示例:

基本型別與包裝類區別

  1. 基本型別不是物件,不需要new關鍵字建立,包裝類需要使用new關鍵字建立物件。
  2. 儲存方式不同,基本型別的值存在堆疊中,包裝類的例項存在堆中。
  3. 初始值不同,包裝類的初始值為null,基本型別視具體型別而定,比如int初始值為0,boolean初始值為false。
  4. 有些場景下只能使用包裝類,比如與集合類互動,使用泛型和反射呼叫函式,某個欄位允許null值,就只能使用包裝類。

參考資料:

https://www.runoob.com/java/java-number.html

https://www.cnblogs.com/EasonJim/p/7835357.html


所有文章公眾號首發!
如果你覺得這篇文章寫的還不錯的話,關注公眾號“dongfanger”,你的支援就是我寫文章的最大動力。

版權申明:本文為博主原創文章,轉載請保留原文連結及作者。