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 @   yub4by  阅读(62)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示