JavaSE-13.1【包装类】
1 package day4.haifei01; 2 3 /* 4 1 包装类 5 6 1.1 基本类型包装类 7 基本类型包装类的作用 8 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据 9 常用的操作之一:用于基本数据类型与字符串之间的转换 10 基本类型对应的包装类 11 byte Byte 12 short Short 13 int Integer 14 long Long 15 float Float 16 double Double 17 char Character 18 boolean Boolean 19 20 1.2 Integer类 21 包装一个对象中的原始类型 int 的值 22 构造方法(过时,但仍可用) 23 public Integer(int value) 根据 int 值创建 Integer 对象 24 public Integer(String s) 根据 String 值创建 Integer 对象 25 静态方法获取对象(目前,推荐) 26 public static Integer valueOf(int i) 返回表示指定的 int 值的 Integer 实例 27 public static Integer valueOf(String s) 返回一个保存指定值的 Integer 对象 String 28 29 1.3 int和String类型的相互转换 30 基本类型包装类最常见的操作就是用于基本类型和字符串进行相互转换 31 int转换为String 32 方式一:直接在数字后加一个空字符串 33 方式二:通过String类静态方法valueOf() 34 String转换为int 35 方式一:先将字符串数字转成Integer,再调用valueOf()方法 36 方式二:通过Integer静态方法parseInt()进行转换 37 38 1.4 案例-字符串数据排序 39 有一个字符串:“91 27 46 38 50”,请写程序实现最终输出结果是:“27 38 46 50 91” 40 41 1.5 自动装箱和自动拆箱 42 装箱:把基本数据类型转换为对应的包装类类型 43 拆箱:把包装类类型转换为对应的基本数据类型 44 45 */ 46 47 import java.util.Arrays; 48 49 public class IntegerDemo { 50 51 public static void main(String[] args) { 52 //需求:判断一个数据是否在int范围内 53 // public static final int MIN_VALUE; 54 // public static final int MAX_VALUE; 55 System.out.println(Integer.MIN_VALUE); //-2147483648=int_min 56 System.out.println(Integer.MAX_VALUE); //2147483647=int_max 57 58 System.out.println("==================================="); 59 60 Integer i1 = new Integer(100); 61 System.out.println(i1); 62 63 Integer i2 = new Integer("200"); //仅可输入数字字符串 64 System.out.println(i2); 65 // i2 = new Integer("abc"); //error 66 67 Integer i3= Integer.valueOf(300); 68 System.out.println(i3); 69 70 Integer i4 = Integer.valueOf("400"); 71 System.out.println(i4); 72 // i4 = Integer.valueOf("abc"); //error 73 74 System.out.println("==================================="); 75 76 //int --> String 77 int num = 500; 78 79 String s = "" + num; 80 System.out.println(s); 81 82 String s2 = String.valueOf(num); 83 System.out.println(s2); 84 85 //String --> int 86 String s3 = "600"; 87 88 Integer i5 = Integer.valueOf(s3); 89 int x = i5.intValue(); 90 System.out.println(x); 91 92 int y = Integer.parseInt(s3); 93 System.out.println(y); 94 95 System.out.println("==================================="); 96 97 sortStr(); 98 99 System.out.println("==================================="); 100 101 Integer i = Integer.valueOf(999); //装箱:基本int-->包装Integer 102 Integer ii = 999; //自动装箱(底层自动实现Integer.valueOf) 103 104 int ii2int = ii.intValue(); //拆箱:包装Integer-->基本int 105 ii = ii.intValue() + 200; //拆箱+自动装箱 106 System.out.println(ii); 107 108 ii += 200; //自动拆箱(底层自动实现.intValue()) 109 System.out.println(ii); 110 111 Integer iii =null; 112 // iii += 999; //error 空指针 113 if(iii != null){ //推荐引用类型的变量在使用之前判断是否为空 114 iii += 999; //ok 115 } 116 //注意:实际开发中,对象在使用之前必须进行不为null的判断 117 118 } 119 120 public static void sortStr(){ 121 String s = "91 27 46 38 50"; 122 123 String[] strArr = s.split(" "); // 124 /*for(int i=0; i<strArr.length; i++){ 125 System.out.println(strArr[i]); //str 126 }*/ 127 128 int[] arr = new int[strArr.length]; 129 for(int i=0; i<arr.length; i++){ 130 arr[i] = Integer.parseInt(strArr[i]); // 131 } 132 133 /*for(int i=0; i<arr.length; i++){ 134 System.out.println(arr[i]); //int 135 }*/ 136 137 Arrays.sort(arr); 138 139 StringBuilder sb = new StringBuilder(); 140 for (int i=0; i<arr.length; i++){ 141 if(i == arr.length-1){ 142 sb.append(arr[i]); 143 }else { 144 sb.append(arr[i]).append(" "); 145 } 146 } 147 String result = sb.toString(); 148 System.out.println(result); 149 } 150 151 }