本章目标:
掌握包装类的作用
掌握包装类的自动装箱及自动拆箱的操作
掌握包装类的转换操作
3.具体内容
一切皆对象,八种基本数据类型不是对象
把int包装成一个类,这样就可以以对象的形式操作基本数据类型
No. 基本数据类型 包装类
1 int Integer
2 char Character
3 short Short
4 long Long
5 float Float
6 double Double
7 boolean Boolean
8 byte Byte
包装类的继承关系
Integer、Byte、Float、Double、Short、Long都属于Number类的子类,Number类本身提供了一系列的返回以上6种基本数据类型的操作。
Character 属于Object的直接子类
Boolean 属于Object的直接子类
下面以integer和Float为例
装箱及拆箱
下面以小数为例:
在JDK1.5之前对于程序本身来说包装类是不能直接进行“+、-、*、/、++、--”,是不可以的,因为是一个类,所以不可以这样操作。
但是在JDK1.5版本之后对程序的包装类功能进行了改变,增加了自动装箱及自动拆箱的功能,而且也可以使用包装类直接进行数字运算。
在包装类中,实际上还存在一个最大的特点,就是可以将字符串变为指定的数据类型
1.Integer类(字符串转int型)
public static int parseInt(String s)throws NumberFormatException
2.Float类(字符串转float型)
public static float parseFloat(String s)throws NumberFormatException
掌握包装类的作用
掌握包装类的自动装箱及自动拆箱的操作
掌握包装类的转换操作
3.具体内容
一切皆对象,八种基本数据类型不是对象
把int包装成一个类,这样就可以以对象的形式操作基本数据类型
No. 基本数据类型 包装类
1 int Integer
2 char Character
3 short Short
4 long Long
5 float Float
6 double Double
7 boolean Boolean
8 byte Byte
包装类的继承关系
Integer、Byte、Float、Double、Short、Long都属于Number类的子类,Number类本身提供了一系列的返回以上6种基本数据类型的操作。
Character 属于Object的直接子类
Boolean 属于Object的直接子类
下面以integer和Float为例
装箱及拆箱
public class WarpperDemo01{
public static void main(String args[]){
int x = 30;
Integer i = new Integer(x); //装箱:将基本数据类型变为包装类
int temp = i.intValue(); //拆箱:将一个包装类变为基本数据类型
}
}
下面以小数为例:
public class WarpperDemo02{
public static void main(String args[]){
float f = 30.3f; //基本数据类型
Float x = new Float(f); //装箱操作将基本数据类型变为包装类
float y = x.floatValue();//拆箱操作
}
}
在JDK1.5之前对于程序本身来说包装类是不能直接进行“+、-、*、/、++、--”,是不可以的,因为是一个类,所以不可以这样操作。
但是在JDK1.5版本之后对程序的包装类功能进行了改变,增加了自动装箱及自动拆箱的功能,而且也可以使用包装类直接进行数字运算。
public class WarpperDemo03{
public static void main(String args[]){
Integer i = 30;
Float f = 30.3f;
int x = i;
float y = f;
}
}
在包装类中,实际上还存在一个最大的特点,就是可以将字符串变为指定的数据类型
1.Integer类(字符串转int型)
public static int parseInt(String s)throws NumberFormatException
2.Float类(字符串转float型)
public static float parseFloat(String s)throws NumberFormatException
public class WarpperDemo04{
public static void main(String args[]){
String str1 = "30";
String str2 = "30.3";
int x = Integer.parseInt(str1);
float f = Float.parseFloat(str2);
System.out.println("整数乘方:"+x+"*"+x+"="+(x*x));
System.out.println("小数乘方:"+f+"*"+f+"="+(f*f));
}
}