基本数据类型的包装类

1.基本数据类型其实也有其针对的类描述
    byte    - Byte
    short     - Short
    int     - Integer
    long    - Long
    float    - Float
    double    - Double
    char    - Character
    boolean    - Boolean
    
    Number
        |-- Byte Short Integer Long Float Double 【BigDecimal BigInteger】
    Object
        |-- Character Boolean

package part03.基本数据类型包装类;

public class NumDemo01 {
	public static void main(String[] args) {
		Byte b=new Byte("10");
		Short s=new Short("10");
		Integer i1=new Integer(10);
		Integer i2=new Integer(10);
		Long l=new Long("10");
		Float f=new Float("10");
		Double d=new Double("10");
		Character c=new Character('a');//必须传字符
		Boolean bool=new Boolean("true");
		//成员函数
		System.out.println(i1.compareTo(i2));
		System.out.println(i1<i2);
		System.out.println(i1+i2);
		System.out.println(i1.equals(i2));
		System.out.println(i1==i2);
		System.out.println(i1.intValue()==i2.intValue());//返回Integer值
		System.out.println(i1.toString());//将包装类型转字符串   等效于10+""
		//静态函数
		//最高支持36进制     10个数字+26字母    radix∈[2,36]
		System.out.println(Integer.parseInt("123")+1);//默认以十进制解析
		System.out.println(Integer.parseInt("10010101",2));//规定以2进制解析
		System.out.println(Integer.parseInt("102201012",3));//以3进制解析字符串
		System.out.println(Integer.reverse(123));//返回通过反转指定int值的二进制补码表示形式中位的顺序而获得的值
		//将149 转成二进制
		System.out.println(Integer.toBinaryString(149));
		//将149转成八进制
		System.out.println(Integer.toOctalString(149));
		//将149转成16进制
		System.out.println(Integer.toHexString(149));
		//默认转成十进制
		System.out.println(Integer.toString(149));//toString不是Object重写而来的
		//静态工厂模式
		System.out.println(Integer.valueOf(10));//等效于new Interger(10)
	}
}

2.自动装箱与自动拆箱

package part03.基本数据类型包装类;

public class NumDemo02 {
	public static void main(String[] args) {
		Integer i1=3;//new Integer(3)     自动装箱
		Integer i2=3;//new Integer(3)    自动装箱
		
		System.out.println(i1==i2);//true    
		//自动拆箱    i1.intValue()<i2.intValue()
		System.out.println(i1<i2);//false
		//自动拆箱    i1.intValue()+i2.intValue()
		System.out.println(i1+i2);//6
		System.out.println(i1.equals(i2));//true
		
		Integer i3=200;
	    Integer i4=200;
	    System.out.println(i1==i2); //false 
		System.out.println(i1<i2);//false
		System.out.println(i1+i2);//6
		System.out.println(i1.equals(i2));//true
		/*
		 注意在自动装箱的时候 如果值在byte范围内 -128~127 常用数据范围 尽量避免创建冗余的对象
		那么此时会对这些对象进行复用
		如果超出byte范围 那么就得重新创建对象了
		 */
		//前提:两者同类型(两者要么都是基本数据类型 ,要么都是引用数据类型) == 永远比的是地址
		int a=0;
		int b=new Integer(0);
		System.out.println(a==b);// a==b.inValue()
		
	}
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值