Java---数据类型(二)

二、数据类型

2.1 Java数据类型

Java语言的数据类型有两种,即基本数据类型和引用数据类型
Java---数据类型(二)
基本数据类型和引用类型的不同点

1、基本数据类型用=直接赋值,引用数据类型用new创建对象赋值
2、基本数据类型存储在栈中,引用类型地址存在栈中,内容存在堆中

2.2 Java内存

①堆

a. 运行时数据区
b. 运行时动态分配内存
c. 自动回收垃圾
d. 存取速度较慢

②栈

a. 存取速度较快
b. 数据可以共享
c. 数据大小和生命周期必须确定,不够灵活

③方法区

用来存储类型信息

④常量池

a. 用来存储某类型的常量信息
b. 常量池是方法区的一部分

2.3 基本数据类型

2.3.1 基本数据类型分类

●Java语言中的基本数据类型可以分为数值型、字符型、布尔型三大类,具体包含8个类型;
●每种具体类型使用一个关键字表示;

Java---数据类型(二)

数值型默认初值为0
字符型默认初值为0.0
布尔型默认初值为false

2.3.2 基本数据类型长度

●每种数据类型在内存中占有不同的长度;
●计算机存储设备的最小信息单元叫“位(bit) “, 又称之为"比特位”;
●连续的8个位成为1个“字节“(byte)
●操作系统分配内存最少1个字节,即8个位,而不是1个位;
●长度越长.所表示的范围就越大:Java---数据类型(二)

2.3.3 基本数据类型转换

●不同的基本数据类型之间可以进行转换;
●从表示范围小的类型转换为表示范围大的类型,可以直接转换,称为隐式转换
Java---数据类型(二)
●从表示范围大的类型转换为表示范围小的类型,需要强制转换,称为显式转换;
Java---数据类型(二)
●数值类型和boolean类型之间就不能转换;强制也不可以;
Java---数据类型(二)

2.3.4基本数据类型的赋值及比较运算

●可以使用==、!=、>、<、>=、<=对基本数据类型的数值进行比较运算;
●注意:比较的是数值的二进制;

Java---数据类型(二)
●输出如下结果
Java---数据类型(二)

2.4 引用数据类型

1、初值为null
2、除了String、包装器类(共8个)外,都需要使用new 关键字
3、引用类型可以使用==、!=进行比较,比较的是引用类型的地址,不是内容;
4、引用类型不能使用>、>=、<=、<进行比较;