java基本数据类型及包装类详解

基本数据类型
整型

byte

byte数据类型是1字节,8位、有符号的,以二进制补码表示的整数;
最小值是-128(-2^7);
最大值是127(2^7-1);
默认值是0;
byte类型用在大型数组中节约空间,byte变量占用的空间只有int类型的四分之一;

short

short数据类型是2字节、16位、有符号的以二进制补码表示的整数
最小值是-32768(-2^15);
最大值是32767(2^15 - 1);
一个short变量是int型变量所占空间的二分之一;
默认值是0;

int

int数据类型是4字节、32位、有符号的以二进制补码表示的整数;
最小值是-2,147,483,648(-2^31);
最大值是2,147,483,647(2^31 - 1);
一般地整型变量默认为int类型;
默认值是0;

long

long数据类型是8字节、64位、有符号的以二进制补码表示的整数;
最小值是-9,223,372,036,854,775,808(-2^63);
最大值是9,223,372,036,854,775,807(2^63 -1);
这种类型主要使用在需要比较大整数的系统上;
默认值是0L;
后面加L或者l表示是long长整型;
例子:long l = 234.5l。
浮点型:

float

float数据类型是单精度、4字节、32位、符合IEEE 754标准的浮点数;
float在储存大型浮点数组的时候可节省内存空间;
默认值是0.0f;
后面加F或者f,表示float类型;
浮点数不能用来表示精确的值,如货币;
例子:float f1 = 234.5f。

double

double数据类型是双精度、8字节、64位、符合IEEE 754标准的浮点数;
浮点数的默认类型为double类型;
double类型同样不能表示精确的值,如货币;
默认值是0.0d;
后面加D或者d,表示double类型;
例子:double d1 = 123.4。

布尔型

boolean

boolean数据类型表示一位的信息;
只有两个取值:true和false;
这种类型只作为一种标志来记录true/false情况;
默认值是false;

字符型:

char

char类型是一个单一的16位Unicode字符;
最小值是’\u0000’(即为0);
最大值是’\uffff’(即为65,535);
char数据类型可以储存任何字符;
例子:char letter = ‘A’。

注意:String不是基本类型。

包装类

基本数据类型 --- 包装类
byte --- Byte
boolean --- Boolean
short --- Short
char --- Character
int --- Integer
long --- Long
float --- Float
double --- Double

除了Integer和Character类之外,其它六个类的类名和基本数据类型一致,只需将类名的第一个字母大写即可。

包装类的作用:
1.方法需要传递一个Object变量时,传递int类型的进去显然不行,这时就要用到包装类。

public void demo(Object obj){
}
想传递6进去就可以这样

demo(new Integer(6));


2.集合中不允许存放基本类型数据,只能存放包装类型

3.可以将包装类型转换为基本数据类型。

通过包装类的构造函数,Boolean(boolean value),Character(char value),Integer(int value),Long(long value),Float(float value),Double(double value) ,可以将基本类型转为包装对象。而在各个包装类中,总有形为××Value()的方法,来得到对应的基本类型数据。

例如:integer可将int转成byte、short、long,float、double

public byte byteValue() {
return (byte)value;
}
public short shortValue() {
return (short)value;
}
public long longValue() {
return (long)value;
}

4.通过包装类,String可以和基本类型之间相互转换

通过包装类的构造函数,Boolean(String s),Integer(String s),Long(String s),Float(String s),Double(String s) 得到包装类对象。

任何包装类都存在一个名为toString()的方法能够将其转换成对应的String类;

而对于整型类和长整型类,还能够使用toBinaryString(int i),toHexString(int i),toOctalString(int i)分别以二进制,十六进制和八进制的形式将其转换为String类型。

包装类常用方法

1.包装类的构造方法。(装箱)
例:

Integer integerId=new Integer(6);
Character c=new Character ('a');

2.xxxValue():将包装类转换为基本类型。(拆箱)

Integer integerId=new Integer(6);
int intId=integerId.intValue();

3.valueOf():除Character之外,每个包装类都有一个valueOf()方法,用于将字符串转成相应的包装类。(Character只需要用自身的构造方法)

System.out.println(Boolean.valueOf("false")); 
System.out.println(Integer.valueOf("1")); 
System.out.println(Short.valueOf("1")); 
System.out.println(Long.valueOf("1")); 
System.out.println(Float.valueOf("1.0")); 
System.out.println(Double.valueOf("1.0")); 
System.out.println(Byte.valueOf("1")); 

4.parseXxx() :除Character之外,每个包装类都有将字符串转换为基本数据类型的方法。

String str = "66";
int i = Integer.parseInt(str);
System.out.println(i);

注:Character包装类的常用方法

Character.isLetter('a');//判断这个字符是否为英文字母 
Character.isDigit('1');//判断这个字符是否为数字 
Character.isUpperCase('A');//判断这个字符是否为大写 
Character.isLowerCase('a');//判断这个字符是否为小写 
Character.isWhitespace(' ');//判断这个字符是否为空格或回车 

猜你喜欢

转载自www.cnblogs.com/dwp1216/p/10381922.html