点赞、评论是对我的鼓励。只要去做,一切都不会太迟!
特点
-
一致性:元素数据类型要求相同
-
有序性:元素有序排列,通过下标访问,下标从0开始
-
不可变性:数据一旦初始化,长度(元素个数不变)
基本操作
- 数组的初始化,未赋值都存在默认值:如int默认值为0,String默认值为null
int[] arr1 = new int[7]; //初始化长度为7的数组
int[] arr2 = new int[]{1,2,3};//初始化并赋值,数组长度为元素个数
int[] arr2 = {1,2,3}; //这样也是可以的
- 数组的插入,假设现在初始化一个长度为7的数组,并在索引为1的位置插入字符(索引从0开始)
//分析下过程(如下图):
//1、循环i=数组长度-1,条件为i>index,遍历后为i--
//2、往数组中插入数据,首先以index为中线,后面的数据往末尾开始逐一向后移
String[] arr = new String[]{"多", "运", "动", "身", "体", "好", null};
int index = 1;
for (int i = arr.length - 1; i > index; i--) {
arr[i] = arr[i-1];
}
arr[index] = "人";//index位置插入新值
![add](https://i-blog.csdnimg.cn/blog_migrate/487dc2cd7fdff0ddaf2c7ffeec3f6789.gif)
- 数组的删除,删除上数组中索引为1的位置
//分析下过程(如下图):
//1、循环i=index,条件为i<最大索引长度,遍历后为i++
//2、往数组中删除数据,首先以索引为中线,后面的数据逐一向前移
int index = 1;
for (int i = index; i < arr.length - 1; i++) {
arr[i] = arr[i+1];
}
arr[arr.length-1] = null;//将末尾的值置为默认值
![remove](https://i-blog.csdnimg.cn/blog_migrate/3df712a2a7d907854efe9cbccb04c81a.gif)
- 修改
//修改比较简单,直接指定索引位置即可修改
arr[1] = "人";//修改索引为1的位置的值
- 遍历
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
以上就是关于java数组的基本介绍
思考一下:
- 数组初始化就要定义长度,当长度越界时,如何保证程序不报错?
- 在遍历、插入、删除,我们的循环都是以arr.length作为条件,比如arr.length=10,而arr仅仅插入了一条数据,如何避免多余的遍历?
pass: 用ppt做动画真太难了,博客如有任何错误和建议,欢迎留言指正
关注我,我会以口语化的方式持续输出关于基础、面试、源码,数据库,缓存等技术,还会有很好的技术资料分享,让我们一起精进。