文章摘要: Java数据类型查询手册。
基本数据类型
整数
- 以二进制补码表示的整数。
- 定义
long类型需要在值后面添加l或L。 - 数据类型:基本数据类型
- 默认类型:
int - 默认数值:
0 - 适用场景:
| 关键字 | 名称 | 位数 | 最小值 | 最大值 |
|---|---|---|---|---|
| byte | 字符整型 | 8位(1字节) | ||
| short | 短整型 | 16位(2字节) | ||
| int | 整型 | 32位(4字节) | ||
| long | 长整型 | 64位(8字节) |
案例
浮点数
- 带小数的数值。
- 在机器中存放的形式(浮点数 = 符号位 + 指数位 + 尾数位),尾数部分可能丢失,导致精度损失。
- 浮点数类型的数值可以采用科学技术法表示。(例如:等价于、等价于)
- 定义
float类型需要在值后面添加f或F。 - 数据类型:基本数据类型
- 默认类型:
double - 默认数值:
0.0 - 适用场景:
| 关键字 | 名称 | 位数 | 最小值 | 最大值 |
|---|---|---|---|---|
| float | 单精度浮点数 | 32位(4字节) | ~ | ~ |
| double | 双精度浮点数 | 64位(8字节) | ~ | ~ |
案例
字符
- 使用**单引号(
'')**引起来的内容是字符类型。 - 字符数据类型可以存储单个字符、转义字符、Unicode字符编码表中的数字。
- 数据类型:基本数据类型
- 默认数值:
\u0000 - 适用场景:
| 关键字 | 位数 | 取值范围 | 字符编码 |
|---|---|---|---|
| char | 16位(2字节) | 0~65535 | '\u0000' ~ '\uFFFF' | Unicode编码 |
案例
char x1 = 'a'; // 单个字符
char x2 = '苏'; // 单个字符
char x3 = '\n'; // 转义字符
char x4 = 97; // 字符编码
// 提示:字符 -> 字符编码,会以ASCII编码为准进行转换。
布尔
- 用于表示逻辑条件,即
true真或false假。 - 数据类型:基本数据类型
- 默认数值:
false - 适用场景:
| 关键字 | 位数 | 取值范围 | 说明 |
|---|---|---|---|
| boolean | 32位(8字节) | true/false | 仅可描述真或假 |
案例
引用(对象)数据类型
类
接口
字符串(String)
- 由多个字符组成的字符序列称为字符串。
- 数据类型:引用(对象)数据类型
- 定义符号:双引号
" " - 默认数值:
null - 适用场景:2个以上的字符内容长度。
| 关键字 | 取值范围 | 字符编码 |
|---|---|---|
| String | 在双引号" "之间的任意字符 | Unicode编码 |
案例
数组(Array)
- 数组保存的是一组连续的存储空间,存储多个相同数据类型的值。
- 数据类型:引用(对象)数据类型
- 定义符号:花括号
{} - 默认数值:
null - 适用场景:存储多个数值,数量有限个,数据类型相同。
注释
- 可以通过数组
下标/索引来访问数组中具体的值。 - 下标的概念:数组通过对内存地址修改“偏移量”来快速读取相应数据,因此从
0开始计算,根据下标的顺序,在内存中按顺序存放。
创建 - 动态初始化数组
- 动态初始化数组,声明数组变量名,并指定数据的类型和数组长度。
// 先声明数组
<数据类型>[] <数组名>;
<数据类型>[][] <数组名>;
<数据类型> <数组名>[];
<数据类型> <数组名>[][];
<数据类型>[] <数组名>[];
// 创建数组
<数组名> = new <数据类型>[<数组长度>];
// 一维数组
<数据类型>[] <数组名> = new <数据类型>[<数组长度>];
<数据类型>[] <数组名> = new <数据类型>[]{<数值>, ...};
// 二维数组
<数据类型>[][] <数组名> = new <数据类型>[<数组长度>][<数组长度>];
<数据类型>[][] <数组名> = new <数据类型>[<数组长度>][];
<数据类型>[][] <数组名> = new <数据类型>[][]{{<数值>, ...}, ...};
创建 - 静态初始化数组
- 静态初始化数组,直接赋值具体的数值,使用花括号
{}表示数组。
// 一维数组
<数据类型>[] <数组名> = {
<数值>, <数值>, ...
};
// 二维数组
<数据类型>[][] <数组名> = {
{<数值>, <数值>, ...},
...
};
修改/取值
- 左闭右开区间,下标从
0开始计数,-1代表倒数第一个。
// 一维数组
<数组名>[<下标数>] = <新数值>;
// 二维数组
<数组名>[<下标数>][<下标数>] = <新数值>;
<数组名>[<下标数>][] = new <数据类型>[]{<新数值>, ...};
集合
- list(有序、可重复、有下标)、set(无序、不可重复)、map
- 数据类型:引用(对象)数据类型
- 定义符号:
- 默认数值:
null - 适用场景:
数组类型的优缺点
- 数组存取效率高,使用是要求容量大小固定
- 遇到不同类型的数据,则需要不同的数组来存放
集合类型的优缺点
- 无需声明存储大小,在新增数据时能自动扩容。
- 支持存储不同数据类型
Collection 存储不同类型 LIst 数组列表 ArrayList 链接列表 Linxxxxx List 栈结构Stack 集合(队列)Queue
添加
.add(<>);