java基础【8种包装类 及其 实例测试】
1、为什么是八种:
包装类对应基本数据类型,因为基本数据类型有八种,所以包装类也有八种。
2、包装类的作用:
把基本数据类型包装一下,让它变成对象。基本数据类型不是对象,不能调用方法,不能多态,例如,想要创建一个包含布尔,整数,浮点数的数组,基本数据类型是无法做到的,所以有了包装类,也符合java中一切皆对象的原则。
从基本数据类型到包装类除了int的包装类是Integer、char的包装类是Character之外,其他包装类都是将基本数据类型首字母大写,如boolean-->Boolean。
3、实例测试
使用main方法测试十分不方便,我们想要让所有的测试都运行或者只运行某一个测试,所以引用单元测试@Test。
单元测试方法的要求:类必须是公共的,不能有任何构造器。
方法必须是公共非静态无返回值无参数
执行过程:在方法名上右击,点击run as -- junit
//使用单元测试 @Test public void test1(){ System.out.println("test1..."); } @Test public void test2(){ System.out.println("test2..."); }
包装类:把基本数据类型包装成对象
byte Byte
short Short
int Integer
long Long
float Float
double Double
boolean Boolean
char Character
装箱与拆箱
打通基本数据类型与包装类之间的桥梁。
public void test1(){ int n = 100; //把基本型包装成对象 Integer obj1 = new Integer(n); //这个过程称为手工装箱 Integer obj2 = 200; //自动装箱,编译器行为 : Integer obj2 = Integer.valueOf(200); // 或者 Integer obj2 = new Integer(200); System.out.println(obj1); System.out.println(obj2); //把包装类对象中的基本值取出来,拆箱 int v1 = obj1.intValue(); //手工拆箱 int v2 = obj2; //自动拆箱,编译器行为 : int v2 = obj2.intValue(); int v3 = obj1 * obj2; System.out.println(v3); //把字符串变成整数 int v4 = Integer.parseInt("345"); //工具方法,静态方法 System.out.println(v4); }
练习:
声明两个字符串,内容是整数 第一个字符串转换成整数,再手工装箱 把第二个字符串直接变成包装类对象 手工拆箱求和,自动拆箱求商
@Test public void test2(){ //声明两个字符串,内容是整数 String s1 = "123"; String s2 = "3"; //第一个字符串转换成整数,再手工装箱 int i1 = Integer.parseInt(s1); Integer obj1 = new Integer(s1); //把第二个字符串直接变成包装类对象 Integer obj2 = Integer.parseInt(s2); //手工拆箱求和,自动拆箱求商 int v1 = obj1.intValue(); int v2 = obj2.intValue(); int sum = v1 + v2; System.out.println("sum:" + sum); int shang = obj1 / obj2; System.out.println("shang:" + shang); }
注意:
自动装箱过程中(效率高),系统会有一个-128 到 127 大小的缓冲区,当创建对象过程中,程序优先从缓冲对象数组中取,超出此区域,会直接new();
自动装箱:Integer.valueOf(1);
@Test public void test3(){ Integer i = 23; Integer j = 23; System.out.println(i == j); Integer ii = -129; Integer jj = -129; System.out.println(ii == jj); }