java学习之基本数据类型对象包装类

基本数据类型对象包装类:

        为了方便操作基本数据类型值,将其封装成了对象,在对象中定义了属性和行为,丰富了该数据的操作。

byte                          Byte                                  short                         Short

int                              Integer                             long                           Long

float                          Float                                double                      Double

char                          Character                        boolean                     Boolean      


该包装对象主要用于基本类型和字符串之间的转换

基本类型---->字符串

          1、基本类型数值+“”

          2、用String类中的静态方法valueOf(基本类型数值);

字符串---->基本类型

           1、使用包装类中的静态方法 xxx  parseXxx("xxx类型的字符串");

                              int parseInt("intstring");

                       long parseLong("longstring);

                       。。。

                       只有Character中没有parse方法。

            2、如果字符串被Integer进行对象的封装。

                       可以是用另一个非静态的方法,intValue();

                        将一个Integer对象转成基本数据类型值。

进制转换:

十进制------->其他进制

	private static void IntegerMethodDemo1() 
	{
		System.out.println(Integer.toBinaryString(16));//10000
		System.out.println(Integer.toHexString(60));//3c
		System.out.println(Integer.toOctalString(20));//24
		//指定进制转换
		System.out.println(Integer.toString(38, 3));//把38转成3进制,1102
	}

其他进制----->十进制

	private static void IntegerMethodDemo2()
	{
		System.out.println(Integer.parseInt("3C", 16));//16进制的3C是十进制的60
		System.out.println(Integer.parseInt("111", 2));//2进制的111是十进制7
		System.out.println(Integer.parseInt("70", 8));//8进制的70是十进制的56
	}

下图中创建两个Integer对象num1和num2。第5行输出false是因为两个对象的引用参考到不同的对象上,

也就是说它们的地址不同,所以输出false。第6行输出true是因为Integer类中重载了Object类中的equals方法,

比较的是两个对象里值的大小,相等所以输出true。第7行用compareTo比较两个对象的值的大小,如果

相等输出0,调用对象的值小于参数对象的值输出-1,调用对象的值大于参数对象的值输出1。

第8-9行的写法是自动装箱的写法,简化了书写,其实其内部还是Integer a1 = new Integer(127)。

第10行输出true,第14行输出false是因为jdk1.5后自动装箱,如果装箱的数据是一个字节,那么该数据会被共享,

不会重新开辟空间。一个字节能存储的最大整数为127,所以超过127的数字,就要重新开辟空间,结果才会输出false。

	private static void IntegerMethodDemo3() 
	{
		Integer num1 = new Integer("5");
		Integer num2 = new Integer(5);
		System.out.println(num1 == num2);//false
		System.out.println(num1.equals(num2));//true
		System.out.println(num1.compareTo(num2));//0
		Integer a1 = 127;
		Integer b1 = 127;
		System.out.println(a1 == b1);//true
		System.out.println(a1.equals(b1));//true
		Integer a2 = 128;
		Integer b2 = 128;
		System.out.println(a2 == b2);//false
		System.out.println(b2.equals(b2));//true
	}



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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值