• 装箱和拆箱

  1. 装箱:基本数据类型转为包装类
  2. 拆箱:包装类转为基本数据类型
  3. 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)类用法类似