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 }

 

posted @ 2021-05-29 16:05  yub4by  阅读(60)  评论(0编辑  收藏  举报