1. 程式人生 > >JAVA Number與Math類

JAVA Number與Math類


Number類:

當要用到數字的時候,我們除了使用內建資料型別byte,int,double等來宣告,我們還把它宣告為一個物件;

所有的包裝類(Integer、Long、Byte、Double、Float、Short)都是抽象類 Number 的子類;

當被宣告為物件時,編譯器會把該型別裝箱為包裝類,運算時再拆箱為內建型別;

Number 類屬於 java.lang 包。

      Integer x = 5;
      x =  x + 10;

  當 x 被賦為整型值時,由於x是一個物件,所以編譯器要對x進行裝箱。然後,為了使x能進行運算,所以要對x進行拆箱。

 

Math類:

math類定義了基本數學運算的屬性和方法,所有方法都為static,可以通過math類在主函式直接呼叫。

1         System.out.println("90 度的正弦值:" + Math.sin(Math.PI/2));  
2         System.out.println("0度的餘弦值:" + Math.cos(0));  
3         System.out.println("60度的正切值:" + Math.tan(Math.PI/3));  
4         System.out.println("1的反正切值: " + Math.atan(1));  
5 System.out.println("π/2的角度值:" + Math.toDegrees(Math.PI/2)); 6 System.out.println(Math.PI);

 

Number類與Math類的方法:

1.intValue():(其他型別同理)

  以int形式返回

1       Integer x = 5;
2       // 返回 byte 原生資料型別
3       System.out.println( x.byteValue() );
4  
5       // 返回 double 原生資料型別
6 System.out.println(x.doubleValue()); 7 8 // 返回 long 原生資料型別 9 System.out.println( x.longValue() );

 

2.compareTo(referenceName):  referenceName -- 可以是一個 Byte, Double, Integer, Float, Long 或 Short 型別的引數。

比較該數與給定引數的大小:

  如果小於引數返回-1;

    等於返回0;

    大於返回1;

1       Integer x = 5;
2       System.out.println(x.compareTo(3));

 

3.equals(o):  o--任何物件

判斷該物件與引數物件的型別和數值是否相等:

  都相等返回True;

  不相等返回false;

1         Integer x = 5;
2         Integer y = 10;
3         Integer z =5;
4         Short a = 5;
5 
6         System.out.println(x.equals(y));  
7         System.out.println(x.equals(z)); 
8         System.out.println(x.equals(a));

 

4.valueof():靜態方法,三種過載,返回一個number物件

1 static Integer valueOf(int i)
2 static Integer valueOf(String s)
3 static Integer valueOf(String s, int radix)    //radix為返回的進位制
1         Integer x =Integer.valueOf(9);
2         Double c = Double.valueOf(5);
3         Float a = Float.valueOf("80");               
4       Integer b = Integer.valueOf("444",16);   // 使用 16 進位制

 

5.toString():返回一個字串表示的number值,兩種格式:

  如果方法有兩個引數, 返回用第二個引數指定基數表示的第一個引數的字串表示形式。

1 String toString()
2 static String toString(int i)
1         Integer x = 5;
2 
3         System.out.println(x.toString());  
4         System.out.println(Integer.toString(12));

 

6.parseInt():將字串引數作為有符號的十進位制整數進行解析 

1 static int parseInt(String s)
2 
3 static int parseInt(String s, int radix)
1         int x =Integer.parseInt("9");
2         double c = Double.parseDouble("5");
3         int b = Integer.parseInt("444",16);

 

7.abs():返回絕對值

1         Integer a = -8;
2         double d = -100;
3         float f = -90;    
4                         
5         System.out.println(Math.abs(a));
6         System.out.println(Math.abs(d));     
7         System.out.println(Math.abs(f));

 

8.ceil():向上取整    9.floor():向下取整    引數:double或者float    返回值:保留小數點後一位

1         double d = 100.675;
2         float f = -90;    
3  
4         System.out.println(Math.ceil(d));
5         System.out.println(Math.ceil(f)); 
6                      
7         System.out.println(Math.floor(d));
8         System.out.println(Math.floor(f)); 

 

9.rint(double):返回與引數最近的整數,保留一位小數

10.round():四捨五入,返回一個整數,演算法為floor(x+0.5)

11.min  12.max  返回兩個引數中的最小,最大值

13.exp(d):返回e的d次方

double exp(double d)

14.log(d):返回以e為底的d的對數

15.pow(a,b):返回a的b次方