【Java基础】-【基本类型包装类】

一、基本类型包装类

1.基本类型包装类概述

为了对基本数据类型进行更多的操作,更方便的操作,Java就针对每一种基本数据类型提供了对应的类类型。包装类类型。常用的操作之一:用于基本数据类型与字符串之间的转换。

2.基本类型和包装类的对应

 * byte 			Byte
 * short			Short
 * int				Integer
 * long				Long
 * float			Float
 * double			Double
 * char				Character
 * boolean			Boolean

3.Integer类

Integer类概述

Integer 类在对象中包装了一个基本类型 int 的值。该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,还提供了处理 int 类型时非常有用的其他一些常量和方法。

构造方法

public Integer(int value)
public Integer(String s)
注意:这个字符串必须是由数字字符组成。
思考题

思考1:
int类型和String类型的相互转换

答:

	//四种方式
	// int  =>  String
	
	int number = 100;
	// 方式1
	String s1 = "" + number;
	System.out.println("s1:" + s1);
	
	// 方式2【推荐】
	String s2 = String.valueOf(number);
	System.out.println("s2:" + s2);
	
	// 方式3
	// int -- Integer -- String
	Integer i = new Integer(number);
	String s3 = i.toString();
	System.out.println("s3:" + s3);
	
	// 方式4
	// public static String toString(int i)
	String s4 = Integer.toString(number);
	System.out.println("s4:" + s4);

	//两种方式
	// String  =>  int
	
	String s = "100";
	// 方式1
	// String -- Integer -- int
	Integer ii = new Integer(s);
	// public int intValue()
	int x = ii.intValue();
	System.out.println("x:" + x);
	
	//方式2
	//public static int parseInt(String s)
	int y = Integer.parseInt(s);
	System.out.println("y:"+y);

———————————————————————————————————————

成员方法

public int intValue()
public static int parseInt(String s)
public static String toString(int i)
public static Integer valueOf(int i)
public static Integer valueOf(String s)
-常用的基本进制转换
public static String toBinaryString(int i)
public static String toOctalString(int i)
public static String toHexString(int i)
-十进制到其他进制
public static String toString(int i,int radix)
-其他进制到十进制
public static int parseInt(String s,int radix)

//注意NumberFormatException,其他进制对应进制参数格式需要正确
//System.out.println(Integer.parseInt("123", 2));

4.JDK5的新特性

自动装箱:把基本类型转换为包装类类型。
自动拆箱:把包装类类型转换为基本类型。
代码示例:

	// 定义了一个int类型的包装类类型变量i
	// Integer i = new Integer(100);
	Integer ii = 100;
	ii += 200;
	System.out.println("ii:" + ii);

	// 通过反编译后的代码
	// Integer ii = Integer.valueOf(100); //自动装箱
	// ii = Integer.valueOf(ii.intValue() + 200); //自动拆箱,再自动装箱
	// System.out.println((new StringBuilder("ii:")).append(ii).toString());

	Integer iii = null;
	// NullPointerException
	if (iii != null) {
		iii += 1000;
		System.out.println(iii);
	}

注意事项:
在使用时,Integer x = null;代码就会出现NullPointerException。建议先判断是否为null,然后再使用。
思考题

思考1:
Integer i = 1; i += 1;做了哪些事情?

答:自动装箱,先自动拆箱再自动装箱。
——————————————————————————————————————

思考2:看程序写结果 
	public class IntegerDemo {
	public static void main(String[] args) 
	{
		Integer i1 = new Integer(127);
		Integer i2 = new Integer(127);
		System.out.println(i1 == i2);//false
		System.out.println(i1.equals(i2));	//true
		System.out.println("-----------");

		Integer i3 = new Integer(128);
		Integer i4 = new Integer(128);
		System.out.println(i3 == i4);//false
		System.out.println(i3.equals(i4));//true
		System.out.println("-----------");

		Integer i5 = 128;
		Integer i6 = 128;
		System.out.println(i5 == i6);//false
		System.out.println(i5.equals(i6));//true
		System.out.println("-----------");

		Integer i7 = 127;
		Integer i8 = 127;
		System.out.println(i7 == i8);//true
		System.out.println(i7.equals(i8));//true

		// 查看源码可知,针对-128到127之间的数据,做了一个数据缓冲池,如果数据是该范围内的,每次并不创建新的空间
		// Integer ii = Integer.valueOf(127);
	}
}

答:

false true
false true
false true
true true
Integer的数据直接赋值,如果在-128到127之间,会直接从缓冲池里获取数据。

——————————————————————————————————————

5.Character类

Character类概述

Character 类在对象中包装一个基本类型 char 的值。此外,该类提供了几种方法,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反之亦然。

构造方法

public Character(char value)

Character类成员方法

public static boolean isUpperCase(char ch)
判断给定的字符是否是大写字符
public static boolean isLowerCase(char ch)
判断给定的字符是否是小写字符
public static boolean isDigit(char ch)
判断给定的字符是否是数字字符
public static char toUpperCase(char ch)
把给定的字符转换为大写字符
public static char toLowerCase(char ch)
把给定的字符转换为小写字符

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值