裝箱和拆箱 裝箱和拆箱 基本數據類型的包裝類 舉兩個例子,看一下 基本數據類型的包裝類 舉兩個例子,看一下 對於byte/short/long/float/double和Integer(int)類用法類似 對於byte/short/long/float/double和Integer(int)類用法類 ...
-
裝箱和拆箱
- 裝箱:基本數據類型轉為包裝類
- 拆箱:包裝類轉為基本數據類型
- jdk1.5(即jdk5.0)之後的版本都提供了自動裝箱和自動拆箱功能
-
基本數據類型的包裝類
-
舉兩個例子,看一下
1 public class Demo01 { 2 3 public static void main(String[] args) { 4 5 6 7 int i = 3;//基本數據類型 8 Integer i1 = new Integer(i);//包裝類 裝箱 9 System.out.println(i); 10 System.out.println(i1); 11 12 13 //把字元串的100 轉成 數字的100 14 String s = "100"; 15 //String s = "abc"; 錯誤的, java.lang.NumberFormatException 16 Integer i2 = new Integer(s); 17 System.out.println(i2); 18 19 20 int i3 = i1.intValue();//拆箱 21 System.out.println(i3); 22 23 24 // s -- > int 25 int i4 = Integer.parseInt(s);//將字元串轉換為數字的方式 26 System.out.println(i4); 27 28 29 30 //jdk 1.5 後 實現自動的裝箱和拆箱 31 int j = 5; 32 33 Integer j1 = j; // 自動裝箱 //Integer j3 = new Integer(j); 34 35 int j2 = j1; // 自動拆箱 36 37 38 //列印int類型的最大值和最小值 39 System.out.println(Integer.MAX_VALUE); 40 System.out.println(Integer.MIN_VALUE); 41 42 43 //進位轉換 44 //十進位轉十六進位 45 System.out.println(Integer.toHexString(1000)); 46 //十進位轉八進位 47 System.out.println(Integer.toOctalString(9)); 48 //十進位轉二進位 49 System.out.println(Integer.toBinaryString(3)); 50 51 52 53 Integer ii1 = new Integer(1234);//堆記憶體中取 54 Integer ii2 = 1234;//去方法區中找 55 int ii3 = 1234; //ii1 拆箱 int 56 57 System.out.println(ii1 == ii3);//T 58 59 //雖然屬性值相同, 但是引用的地址不同, “==” 比較的是引用的地址 60 System.out.println(ii1==ii2);//F 61 62 //Integer 類中重寫了equals方法, 比較的是屬性值 63 System.out.println(ii1.equals(ii2));//T 64 65 66 //byte [-128 - 127] 67 68 Byte b1 = -123; 69 Byte b2 = -123; 70 71 System.out.println(b1 == b2); 72 System.out.println(b1.equals(b2)); 73 74 75 76 }
1 public class Demo02_Character { 2 3 public static void main(String[] args) { 4 5 System.out.println((int)'1'); 6 7 char c1 = 'A'; 8 char c2 = 49; 9 System.out.println("c2 = " + c2); 10 11 Character c3 = c1; //Character c4 = new Character(c1); 12 13 System.out.println(Character.isDigit(c1));//判斷字元是否為數字 F 14 System.out.println(Character.isLetter(c1));//判斷字元是否為字母 T 15 System.out.println(Character.isLowerCase(c1));//判斷是否為小寫字母 F 16 System.out.println(Character.isUpperCase(c1));//判斷是否為大寫字母 T 17 18 System.out.println(Character.toLowerCase('C'));//大寫轉小寫 c 19 System.out.println(Character.toUpperCase('a'));//小寫轉大寫 A 20 21 }
-
對於byte/short/long/float/double和Integer(int)類用法類似