標籤:split 其他 value system 引用 封裝 指定 存在 xxx
一、基本類型封裝類 1.基本類型封裝類介紹
8種基本類型:
byte short int long float double char boolean
這8種基本類型它們在程式僅僅只能規範某個空間的資料類型,並不能按照類的方式去操作這些類型。
int a ; 在記憶體中需要開闢一個int類型的空間,空間名稱為a
於是sun公司針對這8種基本類型提供了它們各自對應的類類型。把這些類型統一稱為基本類型封裝類。
byte ------》 Byte
short ------》 Short
int ------》 Integer
long ------》 Long
float ------》 Float
double------》 Double
char -------》 Character
boolean ------》 Boolean
八種基本類型對應的封裝類,除int和char類型之外的其他六個都是關鍵字的首字母大寫。
int Integer
char Charater
2.基本類型封裝類顯示
基本類型對應的封裝類中,提供的成員變數,成員變數中儲存當前這個類型中可以儲存的最大值和最小等靜態變數
發現基本類型封裝類沒有對外提供空參數的構造方法。因為每個基本類型封裝類的對象都需要封裝一個對應的基本類型數值。如果有空參數的構造方法,建立出來的對象並不知道它會將那個基本類型封裝成對象。
1 /* 2 * 示範基本類型封裝類 3 */ 4 public class IntegerDemo { 5 public static void main(String[] args) { 6 7 int x = 123; 8 //將基本類型資料轉成對應的封裝類型 9 Integer i = new Integer(x);10 /*11 * 在使用基本類型封裝類將一個字串轉成對應的封裝類對象的時候12 * 要求指定的字串中的資料一定可以轉成數字,如果字串中存在一個其他的非13 * 數字資料,在建立封裝類對象的時候就會發生異常。14 */15 Integer i2 = new Integer("123");16 System.out.println(i2); 17 //調用成員變數18 System.out.println(Integer.MAX_VALUE);19 System.out.println(Integer.MIN_VALUE);20 System.out.println(i);21 22 System.out.println(Integer.toBinaryString(x));23 System.out.println(Integer.toHexString(x));24 System.out.println(Integer.toOctalString(x));25 }26 }
3. 基礎資料型別 (Elementary Data Type)和封裝類之間的轉換 a. 基本類型轉成封裝類
1、使用封裝類的構造方法
2、使用類中的靜態方法valueOf
b. 將封裝類型轉成基本類型
使用當前基本類型對應的封裝類中的xxxValue方法完成
4. 字串和基本類型資料、封裝類型轉換 a.字串轉基本類型
使用基本類型對應的封裝類中的parseXxxx方法。
b. 基本類型轉字串
b.1 String類中提供的靜態valueOf,可以將基本類型轉成字串
b.2 使用+號連結
b.3 使用封裝類中的靜態toString方法
c. 字串轉封裝類型
c.1、 封裝類的構造方法
c.2、 封裝類中的靜態方法valueOf
d. 封裝類型轉字串
d.1、 使用String類中的靜態valueOf方法
d.2、 使用封裝類中複寫了Object的toString方法
e. 總結
基本類型、封裝類型、字串三者之間的轉換:
5. 自動裝箱和拆箱
在JDK5中,針對基本類型資料和對應的封裝類型之間的轉換進行了簡化。
自動裝箱:可以把一個基本類型的資料直接賦值給對應的封裝類型的引用。
自動拆箱:可以直接把一個封裝類型的引用賦值給基本類型變數。
6. 練習
1 /* 2 * 需求:對字串中的數字資料按照它們的字面值進行排序。 3 * “11 -11 -1 -101 123 21 12 101” 4 * 分析: 5 * 需要對字串進行切割,得到一個字串數組,這時不能直接對這個對象進行排序 6 * 因為直接排序是按照數組中每個字串的相同位置上字元的編碼值進行大小比較 7 * 而不能按照每個字串中的數字具體數值進行比較 8 * 9 * 我們就需要將當前的字串數組中的每個字串再轉成int類型的數字,然後在比較大小排序10 */11 public class Test {12 public static void main(String[] args) {13 14 String s ="11 -11 -1 -101 123 21 12 101";15 16 //使用空格切割17 String[] strs = s.split(" ");18 19 //定義一個int類型的數組,用於儲存轉後的每個int資料20 int[] arr = new int[strs.length];21 22 //迴圈取出字串數組中的每個字串資料23 for (int i = 0; i < strs.length; i++) {24 //將字串轉成int值儲存在arr數組中25 int x = Integer.parseInt(strs[i]);26 arr[i] = x;27 }28 //迴圈結束,就表示當前strs數組中的每個字串都已經被轉成int類型的資料儲存在arr中29 //對arr排序30 Arrays.sort(arr);31 32 //將數組轉成字串33 //使用字串緩衝區,臨時將需要拼接的資料存放區在緩衝區中34 StringBuilder sb = new StringBuilder();35 //迴圈取出arr中的每個int類型的資料36 for (int i = 0; i < arr.length; i++) {37 sb.append(arr[i]);38 sb.append(" ");39 }40 41 //將字串緩衝區中的資料轉成字串資料42 String ss = sb.toString();43 44 System.out.println(ss);45 }46 }
JAVA基礎--JAVA API常見對象(封裝類和正則)12