基本数据类型包装类的使用与转换

这里就用Integer做示例其它类型都一样

1.基本用法:

package com.su;
/*
 * 包装类
 * 基本数据类型-->	包装类
 * byte			Byte
 * short			Short
 * int			Integer *
 * long			Long
 * float			Float
 * double		Double
 * char			Character *
 * boolean		Boolean
 * 
 * 
 * 基本数据类型-->引用类型   :装箱
 * 引用类型-->基本数据类型   :拆箱
 * 
 * 包装类:
 * 基本数据类型-->包装类
 * 包装类-->基本数据类型
 * String -->基本数据类型
 * 基本数据类型 -->String
 * 
 * Integer  int类型包装类
 * Integer 类在对象中包装了一个基本类型 int 的值。Integer 类型的对象包含一个 int 类型的字段。
 * 字段摘要
	static int	MAX_VALUE 
	          值为 231-1 的常量,它表示 int 类型能够表示的最大值。
	static int	MIN_VALUE 
	          值为 -231 的常量,它表示 int 类型能够表示的最小值。
	static int	SIZE 
	          用来以二进制补码形式表示 int 值的比特位数。  bit
	          
	 构造方法摘要
	Integer(int value)     int --->Integer
	          构造一个新分配的 Integer 对象,它表示指定的 int 值。
	Integer(String s)      String -->Integer
	          构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。
	          
	方法
	int	compareTo(Integer anotherInteger) 
          在数字上比较两个 Integer 对象。
    int	intValue()    Integer --> int
          以 int 类型返回该 Integer 的值。
    String	toString()  Integer-->String
          返回一个表示该 Integer 值的 String 对象。   
    static String	toString(int i) 
          返回一个表示指定整数的 String 对象。
	static String	toString(int i, int radix) 
          返回用第二个参数指定基数表示的第一个参数的字符串表示形式。  
          
    static int	parseInt(String s)  String --> int
          将字符串参数作为有符号的十进制整数进行解析。
    static int	parseInt(String s, int radix) 
          使用第二个参数指定的基数,将字符串参数解析为有符号的整数。
          
   
	          
	 other-->Integer
	 static Integer	valueOf(int i) 
          返回一个表示指定的 int 值的 Integer 实例。
	 static Integer	valueOf(String s) 
	          返回保存指定的 String 的值的 Integer 对象。
	 static Integer	valueOf(String s, int radix) 
	          返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。     
 * */
public class Demo2 {

	public static void main(String[] args) {
		System.out.println(Integer.MAX_VALUE);//2^31-1
		System.out.println(Integer.MIN_VALUE);//-2147483648  -2^31
		System.out.println(Integer.SIZE);//32
		System.out.println(Short.MAX_VALUE);//32767
		/*
		 * Integer(int value)     int --->Integer
	          构造一个新分配的 Integer 对象,它表示指定的 int 值。
			Integer(String s)      String -->Integer
	          构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。
		 * */
		System.out.println("------");
		Integer in1 = new Integer(12);
		System.out.println(in1);
		in1 = new Integer("123");//NumberFormatException   必须是数字的字符串形式才可以转换
		System.out.println(in1);
		
		/*
		 * int	compareTo(Integer anotherInteger) 
          在数字上比较两个 Integer 对象。
    		int	intValue()    Integer --> int
          以 int 类型返回该 Integer 的值。
		 * */
		System.out.println(new Integer(5).compareTo(new Integer(10)));
		//Integer --> int 拆箱
		int num = in1.intValue();
		//Integer-->String   int --> String
		/*String	 toString()  返回一个表示该 Integer 值的 String 对象。   调用方法的对象转成String形式
		 *static String	toString(int i) 返回一个表示指定整数的 String 对象。  将int参数转换成String形式
		 */
		//String -->int
		/* static int	parseInt(String s)  String --> int       &&&&
          将字符串参数作为有符号的十进制整数进行解析。*/
		
		int a = Integer.parseInt("12");
		System.out.println(a);
		
		// other-->Integer   $$$$
		/* static Integer	valueOf(int i) 返回一个表示指定的 int 值的 Integer 实例。
	 	   static Integer	valueOf(String s) 返回保存指定的 String 的值的 Integer 对象。*/
		
		Integer i1 = Integer.valueOf(1);
		i1 = Integer.valueOf("12");
		
		System.out.println("----------");
		/*
		 *  进制转换
		    static String	toBinaryString(int i) 
		          以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。
			static String	toHexString(int i) 
			          以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。
			static String	toOctalString(int i) 
			          以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。	
			          
		    static String	toString(int i, int radix) 
          		返回用第二个参数指定基数表示的第一个参数的字符串表示形式。  
          	static int	parseInt(String s, int radix) 
          		使用第二个参数指定的基数,将字符串参数解析为有符号的整数。
           	static Integer	valueOf(String s, int radix) 
	          	返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。
		 * */
		
		//十进制--->其他进制字符串形式
		System.out.println(Integer.toBinaryString(100));//1100100  十进制 -->二进制
		System.out.println(Integer.toOctalString(100));// 144  十进制 -->八进制
		System.out.println(Integer.toHexString(100));//64  100十六进制的形式
		//将第一个参数转换成第二个参数进制的表示形式
		System.out.println(Integer.toString(100, 8));//十进制的100转成8进制形式
		//其他进制 --->十进制
		System.out.println(Integer.parseInt("6a",16));//把第一个参数字符串6a当成16进制的数,将其转换成10进制然后输出
		System.out.println(Integer.valueOf("100", 36));//第二个参数可以表示进制数 0-9,a-z  参数范围: 2 - 36 超过的报错
							//NumberFormatException: radix 37 greater than Character.MAX_RADIX
		System.out.println(Integer.toString(100, 3));//十进制的100转成8进制形式  2-36 超过范围当成十进制处理
	}

}

2.类型之间的转换

package com.sy;

public class Demo3 {

	public static void main(String[] args) {
		//String --> int
		int a = Integer.parseInt("12");    //*
		//int -- >String
		String s = Integer.toString(12);
		int b = 15;
		String s1 = b + "";
		
		//Integer --> String
		Integer i1 = new Integer(23);
		String s2 = i1.toString();//任何对象toString   other -->String
		
		String s3 = String.valueOf(new Integer(25));//*   other -->String
		
		//String--> Integer
		Integer i3 = Integer.valueOf("56");//*
		Integer i4 = new Integer("56");
		
		//Integer --> int   拆箱
		Integer i5 = new Integer(23);
		int c = i5.intValue();//拆箱
		
		//int --> integer  装箱
		Integer i7 = Integer.valueOf(5);
		Integer i6 = new Integer(5);
		
		//JDK1.5之后提供了自动装箱和自动拆箱的机制
		//Integer i8 = 15;//自动装箱
		//int f = i8;//自动拆箱
		
		Integer i = new Integer(1);
		//i = 1 -->i + 2
		i = i + 2;//先把i拆箱1 + 2 = 3,之后将3装箱
		/*//假如没有自动装箱和拆箱机制
		//1、拆箱
		int g = i.intValue();
		//2、加2
		g += 2;//g = 3
		//3、装箱
		i = Integer.valueOf(g);
		System.out.println(i);*/
		
	}

}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_无往而不胜_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值