Java之數字處理類淺析
包裝類:
資料型別相對的包裝類: byte---Byte short---Short int---Integer long---Long
float---Float double---Double
boolean---Boolean
char---Character
為什麼要有包裝型別?
包裝類把基本型別資料轉換為物件 :是因為Java是一個面向物件的語言,基本型別並不具有物件的性質,為了與其他物件“接軌”就出現了包裝型別(如我們在使用集合型別Collection時就一定要使用包裝型別而非基本型別),它相當於將基本型別“包裝起來”,使得它具有了物件的性質,並且為其添加了屬性和方法,豐富了基本型別的操作。
包裝類的作用:1.提供了一系列實用的方法
2.集合不允許存放基本資料型別資料,存放數字時,要用包裝型別
Integer類為例子介紹包裝類的實際使用:
1、實現int和Integer類之間的轉換
//在實際轉換時,使用Integer類的構造方法和Integer類內部的intValue方法實現這些型別之間的相互轉換,實現的程式碼如下: int n = 10; Integer in = new Integer(100); //將int型別轉換為Integer型別 Integer in1 = new Integer(n); //將Integer型別的物件轉換為int型別 int m = in.intValue();
2.Integer類內部的常用方法
parseInt方法:將數字字串轉換為int數值。
String s = “123”;
int n = Integer.parseInt(s);
public static int parseInt(String s, int radix):將字串按照引數radix指定的進位制轉換為int。
//將字串”120”按照十進位制轉換為int,則結果為120 int n = Integer.parseInt(“120”,10); //將字串”12”按照十六進位制轉換為int,則結果為18 int n = Integer.parseInt(“12”,16); //將字串”ff”按照十六進位制轉換為int,則結果為255 int n = Integer.parseInt(“ff”,16);
toString方法:將int型別轉換為對應的String型別
int m = 1000;
String s = Integer.toString(m);
// 則字串s的值是”1000”。
public static int parseInt(String s, int radix):將int值轉換為特定進位制的字串
int m = 20;
String s = Integer.toString(m,2);
System.out.println(s);
//將20z轉換為二進位制的結果是10100
JDK自從1.5(版本以後,就引入了自動拆裝箱的語法,也就是在進行基本資料型別和對應的包裝類轉換時,系統將自動進行。
int m = 12;
Integer in = m;
//Integer型別會自動轉換為int型別
int n = in;
//數字處理類
//每種資料型別的最大最小值
System.out.println(Integer.MIN_VALUE);
System.out.println(Integer.MAX_VALUE);
System.out.println(Byte.MIN_VALUE);
System.out.println(Byte.MAX_VALUE);
System.out.println(Long.MIN_VALUE);
System.out.println(Long.MAX_VALUE);
System.out.println(Short.MIN_VALUE);
System.out.println(Short.MAX_VALUE);
System.out.println(Float.MIN_VALUE);
System.out.println(Float.MAX_VALUE);
System.out.println(Double.MIN_VALUE);
System.out.println(Double.MAX_VALUE);
對於包裝類說,這些類的用途主要包含兩種:
a、作為和基本資料型別對應的類型別存在,方便涉及到物件的操作。
b、包含每種基本資料型別的相關屬性如最大值、最小值等,以及相關的操作方法。
包裝型別與基本型別異同
1.宣告方式不同,基本型別不適用new關鍵字,而包裝型別需要使用new關鍵字來在堆中分配儲存空間;
2.儲存方式及位置不同,基本型別是直接將變數值儲存在堆疊中,而包裝型別是將物件放在堆中,然後通過引用來使用;
3.初始值不同,基本型別的初始值如int為0,boolean為false,而包裝型別的初始值為null
4.使用方式不同,基本型別直接賦值直接使用就好,而包裝型別在集合如Collection、Map時會使用到
其他:
宣告一個數組:
int ints[] = new int[3];
new代表在記憶體中新開闢一塊區域