1、基础数据类型的划分
- Java的数据类型可以分为两部分,基本数据类型和引用数据类型
基本数据类型包括:boolean、byte、char、short、int、long、float 和 double
引用数据类型:它是以一种特殊的方式指向变量的实体,这种机制类似于C语言的指针。这类变量在声明时不会分配内存,必须另外进行开辟内存空间的操作,如字符串与数组等均属于这种数据类型。
2、基本数据类型
Java八种基本类型分为 六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。
八种基本数据类型及占用空间大小和数据范围如下图所示:
2.1 整数类型
整数类型可以分为:byte 、short 、int 、long 四种
byte的取值范围为-128~127,占用1个字节
short的取值范围为-32768~32767,占用2个字节
int的取值范围为(-2147483648~2147483647),占用4个字节
long的取值范围为(-9223372036854774808~9223372036854774807),占用8个字节
2.2 浮点数类型
带小数点的数值,在java中称为浮点数类型。
float和double是表示浮点型的数据类型,他们之间的区别在于他们的精确度不同
float 3.402823e+38 ~ 1.401298e-45(e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方)占用4个字节
double 1.797693e+308~ 4.9000000e-324 占用8个字节
double型比float型存储范围更大,精度更高,所以通常的浮点型的数据在不声明的情况下都是double型的,如果要表示一个数据是float型的,可以在数据后面加上“F”。
浮点型的数据是不能完全精确的,所以有的时候在计算的时候可能会在小数点最后几位出现浮动,这是正常的。
2.3 字符类型
字符类型也就是char类型,在内存中占有两个字节,采用unicode编码,它的前128字节编码与ASCII兼容 字符的存储范围在\u0000~\uFFFF char在Java中是16位的,因为Java用的是Unicode。不过8位的ASCII码包含在Unicode中,是从0~127的。
char 类型是一个单一的 16 位 Unicode 字符;
最小值是 \u0000(十进制等效值为 0);
最大值是 \uffff(即为 65535);
char 数据类型可以储存任何字符;
例子:char letter = ‘A’;。
2.4 布尔类型
boolean类型的变量只有true和false两种值,它在内存中只占一个字节。布尔变量一般被用来控制程序流程。
3、基本类型数据的默认值
整数(byte、short、int、long)的默认值是:0;
浮点数(float、double)的默认值是:0.0;
字符(char)的默认值是:空格;
布尔(boolean)的默认值:false;