1. 基本类型包装类(记忆)
-
基本类型包装类的作用
将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据
常用的操作之一:**用于基本数据类型与字符串之间的转换 ** -
基本类型对应的包装类
基本数据类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
/*
基本类型包装类
*/
public class IntegerDemo {
public static void main(String[] args) {
//需求:我要判断一个数据是否在 int 范围内?
//public static final int MIN_VALUE
//public static final int MAX_VALUE
System.out.println(Integer.MIN_VALUE);
System.out.println(Integer.MAX_VALUE);
}
}
Integer类(应用)
-
Integer类概述
包装一个对象中的原始类型 int 的值 -
Integer类构造方法
方法名 | 说明 |
---|---|
public Integer(int value) | 根据 int 值创建 Integer 对象(过时) |
public Integer(String s) | 根据 String 值创建 Integer 对象(过时) |
public static Integer valueOf(int i) | 返回表示指定的 int 值的 Integer 实例 |
public static Integer valueOf(String s) | 返回一个保存指定值的 Integer 对象 String |
public class test01 {
public static void main(String[] args) {
//public static Integer valueOf(int i):返回表示指定的 int 值的 Integer 实例
Integer i3 = Integer.valueOf(100);
System.out.println(i3);
//public static Integer valueOf(String s):返回一个保存指定值的 Integer 对象 String
Integer i4 = Integer.valueOf("100");
System.out.println(i4);
//报错:NumberFormatException
Integer i5 = Integer.valueOf("abv");
System.out.println(i5);
}
}
2.1 int和String类型的相互转换(记忆)
-
int转换为String
- 转换方式
- 方式一:直接在数字后加一个空字符串
- 方式二:通过String类静态方法valueOf()
- 转换方式
-
示例代码
// int---String
int number = 10000;
//方式1
String s1 = ""+number;
System.out.println(s1);
//方式2
//public static String valueOf(int i)
String s2 = String.valueOf(1000000);
System.out.println(s2);
//String---int
String s = "666";
//方式1:String --- Integer --- int
Integer i = Integer.valueOf(s);
//public int intValue()
int x = i.intValue();
System.out.println(x);
//方式2
//public static int parseInt(String s)
int y = i.parseInt(s);
System.out.println(y);
案例
字符串数据排序案例(应用)
- 案例需求
有一个字符串:“91 27 46 38 50”,请写程序实现最终输出结果是:“27 38 46 50 91”
import java.util.Arrays;
/*
需求:
有一个字符串:“91 27 46 38 50”,请写程序实现最终输出结果是:“27 38 46 50 91”
思路:
1:定义一个字符串
%%%2:把字符串中的数字数据存储到一个int类型的数组中%%%%
得到字符串中每一个数字数据?
public String[] split(String regex)
定义一个int数组,把 String[] 数组中的每一个元素存储到 int 数组中
public static int parseInt(String s)
3:对 int 数组进行排序
4:把排序后的int数组中的元素进行拼接得到一个字符串,这里拼接采用StringBuilder来实现
5:输出结果
*/
public class PaiXu {
public static void main(String[] args) {
String s = "91 27 46 38 50";
//把字符串转化为字符数组
String [] Srr = s.split(" ");
// for (int i=0;i<Srr.length;i++){
// System.out.println(Srr[i]);
// }
//把String数组转换为int数组
int [] arr = new int[Srr.length];
for (int i=0;i<Srr.length;i++){
arr[i]=Integer.parseInt(Srr[i]);
}
//对int数组进行排序
Arrays.sort(arr);
//把排序后的数组输出为Sting
// System.out.println("排序后:");
StringBuilder sb = new StringBuilder();
for(int i=0;i<arr.length;i++){
if(i==arr.length-1){
sb.append(arr[i]);
}else{
sb.append(arr[i]).append(" ");
}
}
String result = sb.toString();
//输出结果
System.out.println(result);
}
}
3. 自动拆箱和自动装箱(理解)
- 自动装箱
- 把基本数据类型转换为对应的包装类类型
- 自动拆箱
- 把包装类类型转换为对应的基本数据类型
Integer i = 100; // 自动装箱
i += 200; // i = i + 200; i + 200 自动拆箱;i = i + 200; 是自动装箱