一. Java 中的数组
在Java中,数组就是一个变量,用于将相同数据类型的数据存储在存储单元中,数组中的每个元素都属于同一数据类型。
二. 如何使用数组
1. 声明数组
// 语法
数据类型[] 数组名;
// 或者
数据类型 数组名[];
例如:
int[] scores; //存储学生的成绩,类型为整型
double height[]; //存储学生的身高,类型为浮点型
String[] names; //存储学生的姓名,类型为字符串型
2. 分配空间
分配内存空间就是告诉计算机在内存中为它分配了几个连续的空间来存储数据。
// 语法
数据名 = new 数据类型[数组长度];
例如:
scores = new int[30]; //长度为 30 的整型数组
height = new double[30]; //长度为 30 的浮点型数组
names = new String[30]; //长度为 30 的字符串型数组
在声明数组时就分配内存空间
// 语法
数据类型[] 数组名 = new 数据类型[数组长度];
例如:
int scores[] = new int[30];
3. 赋值
分配内存空间后就可以向数组里放数据了,数组中的每一个元素都是通过下标来访问的,数组下标从0开始
// 语法
数组名[下标值];
例如:
scores[0] = 89;
scores[1] = 60;
scores[2] = 70;
......
声明数组时,同时分配空间和赋值
// 语法
数据类型[] 数组名 = {值1, 值2, 值3,......, 值n};
例如:
int[] scores = {60, 70, 98, 90, 76};
// 等价于
int[] scores = new int[]{60, 70, 98, 90, 76};
4. 获取数组长度
数组名.length
三. 常见错误
1. 数组名从0开始
2. 数组访问越界,数组下标从 0 至 数组长度-1
四. 数组排序
// 语法
Array.sort(数组名);
将数组按照升序排序
五. 深入理解数据类型
1. 基本数据类型
对基本数据类型,不同的变量会分配不同的存储空间,并且存储空间中存储的是该变量的值。赋值操作传递的是变量的值,改变一个变量的值不会影响另一个变量的值。
2. 引用数据类型
对引用数据类型,赋值是把原对象的引用传递给另一个引用。对数组而言,当一个数组引用赋值给另一个数组引用后,这两个引用指向同一个数组,也就是指向同一块内存空间。
如果定义的数组时基本数据类型的数组,即 int 型、double型、char型、boolean型,在Java中定义数组之后,若没有指定初始值,则依据数据类型的不同,会给数组元素赋予一个默认值,如下表所示。
数据类型 | 初始值 |
int | 0 |
double | 0.0 |
char | "\u0000" |
boolean | false |
六. 总结
1. 数组是可以在内存中连续存储多个元素的结构,数组中的所有元素必须属于相同的数据类型。
2.数组中的元素通过数组的下标进行访问,数组的下标从 0 开始。
3. 一维数组可用一个循环动态初始化,或者用一个循环动态输出数组中的元素信息。
4. 利用 Arrays 类提供的 sort() 方法可以方便地对数组中的元素进行排序。
5. int、double 、char 、boolean类型都是基本数据类型
6. String 和 数组 是引用数据类型