八大基本数据类型
Java基本数据类型分为两大类:boolean类型和数值类型。数值类型可分为整数类型和浮点类型,而其中字符类型可单独对待。所以Java只包含8种基本数据类型。
- byte:8位,最大存储数据量是255,存放的数据范围是-128~127之间。
- short:16位,最大数据存储量是65536,数据范围是-32768~32767之间。
- int:32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。
- long:64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。
- float:32位,数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。
- double:64位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。
- boolean:只有true和false两个取值。
- char:16位,存储Unicode码,用单引号赋值。
包装类型
1、布尔型(boolean和Boolean)
boolean只有两个对应的值,分别是true和false。用来判定逻辑条件。boolean型不能与其他类型的数据进行转换。
boolean flag1 = true;
boolean flag2 = false;
其对应的包装类为Boolean。
其构造方法可以是用boolean类型作为参数,也可以传入字符串作为参数,当只有传入的字符串是“true”的时候,对应的值才是true。
Boolean a = new Boolean(true); //true
Boolean b = new Boolean(“true”); //true
Boolean c = new Boolean(“1”); //false
当以boolean存入HashMap中时,是将boolean自动装箱成Boolean再存入,所以取值的时候需要强制转换为Boolean。
boolean a = true;
Map map = new HashMap();
map.put(“a”, a);
Boolean t1 = (Boolean) map.get(a);
Boolean类的成员方法包括了toString()、compareTo()、valueOf()、equals()、hashCode()、getBoolean()等方法,用法简单,此处不做描述。
2、字符型(char和Character)
char在定义时,需要用单引号作为引用。
(双引号为String类,单引号为char)
其对应的包装类为Character。Character中支持很多编码。但建议在程序中不适用此类型。
char a = ‘a’;
Character b = new Character(‘b’);
(1)成员变量
static int MIN_RADIX :返回最小基数。
static int MAX_RADIX :返回最大基数。
static char MAX_VALUE :字符类型的最大值。
static char MIN_VALUE :字符类型的最小值。
static Class< Character > TYPE :返回当前类型。
类中还有很多成员变量,此处不做过多表述。
(2)方法
isDigit(char ch)、isDefined(char ch)、isLetter(char ch) 、getType(char ch)、toString()等等方法。
此处不做举例。
(3)转义字符
前面有反斜杠(\)的字符代表转义字符,它对编译器来说是有特殊含义的。
\t - 在文中该处插入一个tab键
\b - 在文中该处插入一个后退键
\n - 在文中该处换行
\r - 在文中该处插入回车
\f - 在文中该处插入换页符
\’ - 在文中该处插入单引号
\” - 在文中该处插入双引号
\ - 在文中该处插入反斜杠
3、整型
整型中对应的包装类均存在 将部分其他类型的数据转换为本类型的数据的方法。即valueOf、parseXXX方法可以将字符串形式的值装换为数字。
例子:
//对String类型的转换
int a = Integer.parseInt(“666”);
//int类型
int b = Integer.valueOf(666);
//String类型
int c = Integer.valueOf(“666”);
(1)byte和Byte
byte主要用于特定应用场合,如I/O操作中的输入输出流。
取值范围是-128-127(即-2^7 ~ 2^7-1)。
存储需求为1字节(8位)。
其对应的包装类是Byte。
(2)short和Short
short类型也是主要用于特定的应用场合。
取值范围是 -32 768~32 767(-2^15 ~ 2^15-1)。
存储需求为2个字节(16位)。
其对应的包装类是Short。
(3)int和Integer
int类型最常用。
取值范围是-231~231-1
存储需求为4个字节(32位)。
其对应的包装类是Integer。
(4)long和Long
long属于长整型。在赋值时使用后缀 L(如40000000000L)。
取值范围是 -2^63 ~ 2^63-1
存储要求是8个字节(64位)
其对应的包装类是Long。
4、浮点型
(1)float和Float
float的数值有后缀F(如3.14F),没有后缀F的默认为double类型。
取值范围有效数字为6-7位
其存储需求为4字节。
其对应的包装类是Float。
(2)double和Double
double的数值精度是float类型的两倍。也有人称之为双精度。绝大部分情况都是使用double作为浮点型数据类型。
取值范围有效数字为6-7位
其存储需求为4字节。
其对应的包装类是Double。
5、自动装箱和拆箱
装箱:自动将基本数据类型转换为其对应的包装类.
拆箱:自动将包装类型转换为基本数据类型.
包装类与基本数据类型之间可以实现数据类型的自动转换,即装箱和拆