数组是用来存储一组相同类型数据的数据结构,数组中的数据在内存中是连续存储的,属于引用类型,数组的操作需要进行遍历,拿到需要的数据进行操作。
注意点
数组中的元素类型必须一致
数组一旦创建,长度不可改变,但是数组中元素的值可以被改变
查询的数组中指定下标所在元素的方法
/**
* 定义一个数组
* 数组下标从0开始 对应的下标对应指定的值
* 即: arr[0] == 1
* arr[1] == 2
* arr[2] == 3
* arr[3] == 4
*/
int[] arr = {1,2,3,4,5};
/**
* 比如说获取数组中的第三个数据
* arr.length 为 arr这个数组的长度 length是获取数组的长度 即有几个数据
* arr长度为5 最大下标为4
* 遍历的是下标所以是length - 1
*/
for(int i = 0; i <= arr.length - 1; i++) {
//数组的下标从0开始,所以i=2就是第三个
if (i == 2) {
System.out.println(arr[i]);
break;
}
}
修改数组中指定下标所在元素的方法
/**
* 修改数组中下标为3的元素为666
* 思路:遍历数组
* 获取到指定的下标的元素
* 进行赋值
*/
//1.遍历数组
for (int i = 0; i <= arr.length - 1; i++) {
//2.获取到指定的下标的元素
if (i == 2) {
//3.进行修改操作
arr[i] = 666;
//结束遍历操作~ 已经执行修改操作了不需要后续的遍历了
break;
}
}
此时可以检查是否操作成功~ 保持一个良好的排除bug的习惯
可以看到成功修改下标为3的元素被修改成功
接下来就是数组删除方法了
/**
* 删除值为3的元素
* 思路:遍历数组
* 找到指定下标的元素
* 后续下标进行前移(覆盖操作)
* 数组的长度减一
*/
//1.遍历数组
for (int i = 0; i < arr.length; i++) {
//2.找到指定元素
if (arr[i] == 3) {
for (int j = i; j < arr.length -1; j++) {
//注意:i是下标 不是值
//3.后续下标进行前移(覆盖操作)
arr[j] = arr[ j + 1 ];
}
}
}
//4.数组的长度减一
Arrays.copyOf(arr,arr.length-1);
测试显示元素为3的删除成功
这只是简单的实现~
小编目前小白一个~如果大佬们看到小编写的有不对的地方~ 麻烦告知小编一声。大家一起变得优秀吧!!!