一.包装类的概念
1.什么是包装类
包装类:拥有属性、方法,可以对象化交互
2.包装类与八种基本数据类型对应(首字母 大写即可)
3.用途
对于包装类说,用途主要包含两种:
1.作为和基本数据类型对应的类 类型存在,方便涉及到对象的操作。
2.包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。
代码示例
public static void main(String[] args){
//1.基本数据类型和包装类型
//包装类标准写法 Integer a2=new Integer(5);
int a1=5;
//Integer a2=5;
Integer a2=new Integer(5);
System.out.println(a1);
System.out.println(a2);
}
二.装箱和拆箱
1.上面说到了基本数据类型和包装类型,那什么是装箱和拆箱呢?
我的理解是:
装箱:把基本数据类型的数据转换为包装类的对象,这个过程称为装箱
(基本数据类型-->装箱-->包装类的对象)
拆箱:把包装类的对象拆解为基本数据类型的数据,这个过程称为拆箱。
(包装类的对象-->拆箱-->基本数据类型)
代码示例
public static void main(String[] args){
//1.基本数据类型和包装类型
//包装类标准写法 Integer a2=new Integer(5);
int a1=5;
//Integer a2=5;
Integer a2=new Integer(5);
System.out.println(a1);
System.out.println(a2);
System.out.println("-----------");
//2.装箱:把基本数据类型换成包装类 拆箱:把包装类型转换成基本数据类型
//装箱
Integer a3=new Integer(a1);
Integer a4= Integer.valueOf(a1);
//拆箱
int a5=a3.intValue();
System.out.println("-----------");
}
2.自动装箱与自动拆箱
自动装箱:可以把一个基本类型变量直接赋给对应的包装类变量,或者赋给Object变量。
自动拆箱:允许直接把包装类对象直接赋给一个对应的基本类型变量。
代码示例
public static void main(String[] args){
//1.基本数据类型和包装类型
//包装类标准写法 Integer a2=new Integer(5);
int a1=5;
//Integer a2=5;
Integer a2=new Integer(5);
System.out.println(a1);
System.out.println(a2);
System.out.println("-----------");
//2.装箱:把基本数据类型换成包装类 拆箱:把包装类型转换成基本数据类型
//装箱
Integer a3=new Integer(a1);
Integer a4= Integer.valueOf(a1);
//拆箱
int a5=a3.intValue();
System.out.println("-----------");
//3.java语言中可以自动装箱与自动拆箱
//自动装箱
Integer a6=a1;
//自动拆箱
int a7=a3;
System.out.println("-----------");
三.基本数据类型和字符串的相互转换
基本数据类型转换为字符串类型有三种方法
1、将基本数据类型与空字符串(" ")连接(+)即可获得其所对应的字符串
2、调用String 类中的valueOf()方法返回相应字符串
3、使用包装类的toString()方法
代码如下
public static void main(String[] args){
//4.基本类型与字符串之间的转换
//基本数据类型可以转换为字符串 123--"123" 3.1415926 "3.1415926"
System.out.println(1+"2");
System.out.println(1+2+"3");
System.out.println("-----------");
//字符串需要手动进行基本数据类型 "123"--123 "abc"---异常
int n=Integer.parseInt("123.6");
double d=Double.parseDouble("3.14");
System.out.println(n);
System.out.println(d);
System.out.println("-----------");
int n1=Integer.parseInt("8D3FE",16);
System.out.println(n1);
}