JavaSE——day10包装类型:Integer和Character等类的引入

本文详细介绍了Java中的Integer和Character包装类型。内容包括构造方法、重要方法及字段摘要,特别是自动拆装箱的机制。同时,讨论了Character类的判断和转换功能,并提供了相关使用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Integer


    Integer是一个,这个类在对象中包装了一个基本类型int的值。此外,该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,还提供了处理 int 类型时非常有用的其他一些常量和方法。Integer类是int类型的包装类类型。
    jdk1.5以后提供自动拆装箱,即可以自动将Integer与int进行转换。

构造方法

构造方法摘要
Integer(int value)
          构造一个新分配的 Integer 对象,它表示指定的 int 值。
Integer(String s)
          构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。

例子:
public class Demo1 {

	public static void main(String[] args) {
		//Integer的构造方法
		
		//初始化对象i为int类型的100
		Integer i = new Integer(100);
		
		//初始化对象is为String类型的100
		Integer is =new Integer("100");
		System.out.println(i + " " + is);
	}

}

重要方法

进制转换方法:(注意:都是静态的,而且有参数)
static StringtoBinaryString(int i)           以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。
static StringtoHexString(int i)           以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。
static StringtoOctalString(int i)           以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。

字符串十进制解析(String转化为int)的方法:
static intparseInt(String s)           将字符串参数作为有符号的十进制整数进行解析。
static intparseInt(String s, int radix)           使用第二个参数指定的基数,将字符串参数解析为有符号的整数。

static IntegervalueOf(int i)           返回一个表示指定的 int 值的 Integer 实例。

int转化为String类型的转换方法:
 StringtoString()           返回一个表示该 Integer 值的 String 对象。

static StringtoString(int i)           返回一个表示指定整数的 String 对象。
static StringtoString(int i, int radix)           返回用第二个参数指定基数表示的第一个参数的字符串表示形式。

public class Demo {

	public static void main(String[] args) {
		

		Integer num  = 100;//自动拆箱为int ,自jdk1.5以后
		//因为INteger提供了很多静态的方法,例如进制转换就是,所以可以直接转换,不用定义变量了
		String x = Integer.toBinaryString(100);
		System.out.println("B:"+x);
		
		
		//这三种方法的返回值均为String类型
		System.out.println("B:"+Integer.toBinaryString(100));
		System.out.println("O:"+Integer.toOctalString(100));
		System.out.println("H:"+Integer.toHexString(100));
		
		//获取Integer的最值
		System.out.println("MAX_VALUE:"+Integer.MAX_VALUE);
		System.out.println("MIN_VALUE:"+Integer.MIN_VALUE);
		
		
		/*
		 * 如何将int转换为String类型
		 * toString(int i) ;
		 * 将String转换为int类型
		 * static int parseInt(String s);
		 */
		String s100 = Integer.toString(100);
		String str = "100";
		int i100 = Integer.parseInt(str);
	}

}

字段摘要

字段摘要
static intMAX_VALUE
          值为 231-1 的常量,它表示 int 类型能够表示的最大值。
static intMIN_VALUE
          值为 -231 的常量,它表示 int 类型能够表示的最小值。
static intSIZE
          用来以二进制补码形式表示 int 值的比特位数。
static Class<Integer>TYPE
          表示基本类型 intClass 实例。

自动拆装箱的反编译例子:

public class IntegerDemo4 {
	
	public static void main(String[] args) {
		
		//创建Integer对象
//		Integer i = new Integer(100) ;
		Integer i = 100 ;
		
		i += 200;		//先拆箱(Integer-->int),后装箱(int值---->Integer)
		//引用类型 += 基本类型     
		System.out.println("i:"+i);
		
		/**
		 * 反编译代码:
		 * 
		 * 	Integer i = Integer.valueOf(100);
			i = Integer.valueOf(i.intValue()  + 200);//(int类型的100 +200)
			System.out.println((new StringBuilder("i:")).append(i).toString());
		 */
		
	}
}

Character

        Character 类在对象中包装一个基本类型 char 的值。Character 类型的对象包含类型为 char 的单个字段。

构造方法摘要

构造方法摘要
Character(char value)
          构造一个新分配的 Character 对象,用以表示指定的 char 值。

 重要的方法摘要

    Character类的判断功能:
        public static boolean isDigit(char ch)确定指定字符是否为数字。
        public static boolean isLowerCase(int ch): 确定是否是小写字母字符
        public static boolean isUpperCase(int ch):确定是否大写字母字符

  


    Character类的转换共功能:

        public static int toLowerCase(int codePoint)
        public static int toUpperCase(int codePoint)
类判断功能&转换功能例子:
public class Demo2 {

	public static void main(String[] args) {
		char[] ch  = {'H','3','c'};
		System.out.println(Character.isDigit(ch[0]));//false
		System.out.println(Character.isDigit(ch[1]));//true
		System.out.println(Character.isUpperCase(ch[0]));//true
		System.out.println(Character.isLowerCase(ch[2]));//true
		
		//修改前
		Print.PrintChar(ch);
		ch[0] = Character.toLowerCase(ch[0]);//将H转换为h了
		Print.PrintChar(ch);
		ch[0] = Character.toUpperCase(ch[2]);//将c换成C交给ch[0]位置
		Print.PrintChar(ch);

	}

}
//遍历
class Print{
	public static void PrintChar(char[] ch) {
		for(int x= 0 ;x <ch.length;x++) {
			System.out.print(ch[x]);
		}
		System.out.println();
	}
}


重要的结尾:

        Java是面向对象的编程语言,一切都是对象,但是为了编程的方便还是引入了基本数据类型,为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是Integer,从Java 5开始引入了自动装箱/拆箱机制,使得二者可以相互转换,对应如下:
        原始类型:boolean,char,byte,short,int,long,float,double
        包装类型:Boolean,Character,Byte,Short,Integer,Long,Float,Double
        顺便一提,Java中的基本数据类型只有以上8个,除了基本类型(primitive type),剩下的都是引用类型(reference type)。
        所以最基本的一点区别是:Ingeter是int的包装类,int的初值为0,Ingeter的初值为null。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值