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次方