/*包装类:保证运算的快速,高效,大部分所使用的数据都是基本类型,但无法像对象一样访问属性,方法。
- 引入包装类可以解决这个问题。包装类可以将基本类型转换为对应的对象类型
- 除了字符型,整型外,其他类都是基本数据类型的首字母改为大写既是包装类
- 基本数据类型 包装类 基本数据类型 包装类
- byte(字符型) Byte float(浮点型) Float
- char(字符型) Character double(双精度型) Double
- int(整型) Integer boolean(布尔型) Boolean
- long(长整型) Long short(短整型) Short
- 包装类使用方法:位于java.lang中,不用import引入
- 类常量:Bealoon类用TRUE,FALSE两个常量来表示‘真’,‘假’。其他7个类用MIN_VALUE,MAX_VALUE来表示对于的基本数据类型的最小值最大值
- 构造方法:
- 1.所有的包装类都可以用其对应的基本类型数据位参数来构造相应的对象,格式:Xxx(基本数据类型)
- 2.除了Character外,都提供以string类型数据为参数的构造方法,格式:Xxx(string s),其中Xxx表示包装类的类名
- 常用方法:
- 1.将包装类对象转化成基本数据类型:调用包装类的相关方法来实现,如:intValue(),floatValue();doubleValue(),byteValue(),shortValue(),longValue()
- 2.基本类型数据与字符串的相互转换:调用包装类的string toString(基本数据类型)把基本数据类型转换为字符串,调用包装类的parseXxx(String s)实现字符串到基本数据类型
- 3.包装类对象与字符串的互换:调用包装类toString()把对象转换为字符串,用包装类的valueOf(string)实现从字符串到包装类对象的转换。
- 从jdk1.5开始,java提供自动装箱和自动拆箱,基本数据类型与包装类之间直接赋值
*/
public class hanjia{
public static void main(String args[]) {
int count;
char []values= {'%','5','q',' ','W','a'};
for(count=0;count<values.length;++count) {
if(Character.isDigit(values[count])) {
System.out.println(values[count]+"是一个数字");
}else if(Character.isLowerCase(values[count])) {
System.out.println(values[count]+"小写字母");
}else if(Character.isUpperCase(values[count])) {
System.out.println(values[count]+"大写字母");
//}else if(Character.isLetter(values[count])) {
//System.out.println(values[count]+"是一个字母");
}else if(Character.isSpace(values[count])) {
System.out.println(values[count]+"空格或者换行符");
}
}
/*基本数据类型与其对应的包装类之间能够自动进行转换,其本质是java的自动装箱与拆箱过程。
* 装箱指将基本数据类型值转换成对应的包装类对象,即将栈中的数据封装成对象放在堆中的构造
* 拆箱是装箱的反过程,是将包装类的对象转换成基本数据类型值,即将堆中的数据值存放到栈中
*/
//自动装箱,可以直接赋值
int i=10;
Integer iobj=i+6;
Double dobj=5.6;
Boolean bobj=true;
System.out.println("整型装箱iobj="+iobj+", 双精度浮点型装箱dobj="+dobj+",布尔类型装箱Boolean="+bobj);
//自动拆箱,可以直接赋值
int ai=iobj;
double bd=dobj;
boolean bb=bobj;
System.out.println("整型拆箱ai="+ai+", 双精度浮点型拆箱bd="+bd+",布尔类型拆箱boolean="+bb);
}
}
个人理解及资料参考,若有不足或者需要扩展请指点。