javaApI_基本数据类型以及其包装类


基本数据类型以及其包装类

1.概述
在程序中,我们知道一些数据类型,如int ,float double等可以表示不同类型的数据,但是呢,有时候这一些数据的操作,表示,以及扩展还是
不够,所以java针对每一种数据类型,给出了其对应的类类型。简称包装类类型。

2.创建的基本类型以及其包装类类型
byte ----->Byte
short ----->Short
int ----->Integer
long ----->Long
float ----->Float
double ----->Double
char ----->Character
boolean ----->Boolean


3.把基本类型封装成为对象的好处可以在于在对象中定义更多的的功能操作该数据。
最常用的操作之一就是可以对象不同的数据类型之间进行数据转化。


4.Integer类概述以及其构造方法

(1).Integer的构造方法
public Integer(int value);能够把一个int基本类型的值转化为一个Integer包装类型的值。
public Integer(String s); 把一个String类型的值转化为一个Integer包装类型的值。


(2).int类型和String类型之间相互转化
A:String-->int
方法1:通过Integer构造先转化为Integer类型,之后再转化到int类型。
方法2:直接通过Integer的ParseInt()方法来转化。

B:int--->String
方法1:通过把int类型的数字和空字符串""拼接可得到一个字符串。
方法2:通过String的方法valueOf(int a)。[推荐使用]
方法3:先把int转为Integer,然后再调用Integer的toString()方法。

代码体现:
public static void main(String[] args) {
int num = 100;
//方法1
String str = num+"";
System.out.println(str);
//方法2(推荐使用)
String str2 = String.valueOf(num);
System.out.println(str2);
//方法3
Integer in = new Integer(num);
String str3 = in.toString();
System.out.println(str3);

System.out.println("------------");
String s = "100";
//方法1
Integer inte = new Integer(s);
int result = inte.intValue();
System.out.println(result);
//方法2
int resul1 = Integer.parseInt(s);
System.out.println(resul1);
}

(3).Integer中相关方法在进制转化中的使用
public static String toString(int i,int radex);可以把10进制转化为其他进制
如:把十进制100转化为3进制:Integer.toString(100,3);


(4).JDK5新特性:自动拆装箱
自动装箱:把基本类型转化为包装类型
自动拆箱:把包装类型转化为基本类型

其实就是jdk把我们把包装类型和基本类型之间做好了转化,直接使用即可。


(5).Integer注意事项:
A:Integer i = 1;i +=1;做了哪些事情
由于1是一个基本的int类型,所以Integer i = 1;先做了一个自动装箱,
后面由于i需要计算,这一个时候,先把i自动拆箱成为int类型,计算完毕以后又自动装箱为Integer类型。


B:看程序写结果:
public static void main(String[] args) {
Integer i1 = new Integer(127);
Integer i2 = new Integer(127);
System.out.println(i1 == i2);
System.out.println(i1.equals(i2));
System.out.println("-------");

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

Integer i5 =127;
Integer i6 =127;
System.out.println(i5 == i6);
System.out.println(i5.equals(i6));
System.out.println("-------");

Integer i7 =128;
Integer i8 =128;
System.out.println(i7 == i8);
System.out.println(i7.equals(i8));
System.out.println("-------");
}
//结果:
false
true
-------
false
true
-------
true
true
-------
false
true
-------
注意:i5,i6的值计算机是直接从byte(-128~127)常量池中获取,Integer i5 =127;等价于:Integer i = Integer.valueOf(127);那么也就是说
其实直接赋值走的就是valueOf()方法,查看源码:
public static Integer valueOf(int i) {
assert IntegerCache.high >= 127;
if (i >= IntegerCache.low && i <= IntegerCache.high)
return IntegerCache.cache[i + (-IntegerCache.low)];
return new Integer(i);
}
可见Integer在范围内(-128~127),计算机给我们提供了一个数据缓冲池,是直接获取,如果不是,那么就重新创建一个对象出来。

5.Character概述以及其方法

(1).概述
Character类在对象中包装了一个基本类型char的值。此外还提供了几个比较常用的方法,如:判断一个字符是不是大写,是不是小写,是不是
数字,以及大小写之间的转化等。

(2).构造方法
Character(char value);
//使用Character ch = new Character('a');

(3).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):把给定的字符串转化为小写字符

//注意给出的方法都是静态方法,所以可以直接使用类名来调用

 

posted @ 2018-12-28 09:00  德墨特尔  阅读(386)  评论(0编辑  收藏  举报