Java06-6 基本数据类型的包装类

一、基本数据类型的包装类
1.让基本数据类型通过包装,也成为一个类,就可以创建对象了,让基本数据类型也能体现面向对象的象征
2.有些场景下,是只能使用对象,例如集合中的元素只能是引用数据类型,此时我们就可以使用包装类的对象来代替基本数据
3.对象比基本数据类型的变量要强大
4.基本数据类型使用上的效率要比包装类型要高
基本数据类型        包装类            父类
byte            Byte
short            Short
int            Integer
long            Long
float            Float
double        Double        Number(数字类型的包装类的父类)  为抽象类,不能实例化

boolean        Boolean        Object
char            Character        Object

eg:
int a = null;        该行报错
Integer a = new Integer(10);
Integer b = new Integer(10);
System.out.println(a + 5);    //10 + 5为15
System.out.println(a == b);      //此处比较内存地址                 false
System.out.println(a.equals(b));    //比较用    equals或者compare    true

二、自动装箱和自动拆箱
int a = 10;
//自动装箱:将基本数据类型转换为对应的包装类型
Integer b = a;
//自动拆箱:将包装类型转换为对应的基本数据类型
a = b;
b = 1000;            //b = 100;
Integer c = 1000;    //Integer c = 100;
System.out.println(b == c);        //100 true ; 1000 false            
在内存中为包装类型的整数型提供了一个常量池,该常量池大小为一个字节[-128  127]
直接为整数型赋值数字时,如果在该范围内,直接引用该内存;如果没有在该范围内,才会去创建对象

1.将Integer转换为int    作用就等同于自动拆箱
    int temp = b.intValue();
2.将Double转换为double
     Double d = 15.5;
     d.doubleValue();
3.比较两个数字的大小     b > c返回值为1;b == c 返回值为0;b < c返回值为-1
    int r = b.compareTo(c);
    System.out.println(r);  //0

三、静态方法
1.将字符串类型的数字转换为数字类型    (""内数字只能是十进制数字)
    int x = Integer.parseInt("10");
    System.out.println(x);    //10
2.将数字转换为指定格式的字符串
           十进制
    String str = Integer.toString(x);
    System.out.println(str);            //10
    二进制
    str = Integer.toBinaryString(x);
    System.out.println(str);            //1010
    八进制
    str = Integer.toOctalString(x);        //12
    System.out.println(str);    
    十六进制
    str = Integer.toHexString(x);        //a
    System.out.println(str);
3.可以将指定的数字转换为指定进制的方式显示    (指定的数字,几进制)
    str = Integer.toUnsignedString(100, 16);
    System.out.println(str);

4.取反    int y = Integer.reverse(189);    先转换为二进制再按位取反 
5.返回较大值        Integer.max(10, 20);  20      
6.将基本数据类型转换为包装类型,就是自动装箱
    Integer.valueOf(10);
7.最大的表数
    System.out.println(Byte.MAX_VALUE);        //127
8.最小的表数
    System.out.println(Byte.MIN_VALUE);        //-128
    int[] ii = new int[Integer.MAX_VALUE];    //使数组长度最大
9.字节数
    System.out.println(Byte.BYTES);    //1
10.二进制的位数
    System.out.println(Byte.SIZE);    //8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值