java数据类型分为两大类:基础数据类型和引用数据类型。
一,数据类型的概述
(1)划分数据类型的意义
不同的变量有不同的用途,可以根据不同的数据类型,将数据区别的存放在内存中,读取数据时,更快捷的找到,而且可以根据数据的类型,确定数据的特征。
(2)数据都存放在内存中。java内存大致分为堆,栈,常量池和方法区。
堆:运行时数据区,运行时动态分配内存,自动回收垃圾,存储速度较慢。
栈:存储速度快,数据共享,数据大小和生命周期确定,不够灵活。
方法区:用来存储类型信息。(常量池:用来存储某类型的常量信息)
(3)内存特征
基本数据类型存储在栈中。引用数据类型的引用存在栈中,值存在堆中。
二,基础数据类型。
(1)数值型
整形:byte,字节,长度8位,1字节,取值范围[-128,127],默认值是0;
short,短整型,长度16位,2字节,范围[2^15-2^15-1],默认值是0;
int,整型,长度32位,4字节,范围[2^31-2^31-1],默认值是0;
long,长整型,长度64位,8字节,范围[2^63-2^63-1],默认值是0;
浮点型:float,浮点数,长度32位,4字节,范围[-3.403E38~3.403E38],默认值是0.0;
double,双浮点数,长度64位,8字节,范围[-1.798E308~1.798E308],默认值是0.0;
(2)字符型
char:单字符,16位,2字节,表示范围是一个字符,默认值是“”(空字符)或者\u0000;
(3)布尔型
boolean:布尔值,8位,1字节,只有true和false,默认值是false。
三,引用数据类型
(1)包装器类型
8种基本数据类型对应的8个类,统称为包装器类型,以便于使用类的方法进行操作。
Byte,Short,Integer,Long,Float,Double,Character,Boolean。
(2)字符串类型String
三个特性,不可变性,final特性,以及常量池缓存的特性。
String,StringBuffer,StringBuilder。
(3)数组
数组是一组类型相同的数据的集合,数组能够作为数据的容器使用,把多个数据集中存储;存储在数组中的数据,都有相应的索引值,可以方便获取或修改;Java的数组长度一经确定不能改变;数组在内存中是连续分配,所以读取速度快;数组中存储的数据称为数组的元素(Element);数组本身是引用类型,但是数组中的元素可以是基本数据类型,也可以是引用类型;数组中的元素有索引值,索引值从0开始;数组可以有维数,一维数组,以及多维数组。