1.1 数组概述
1.2 什么是数组
1.3 数组定义格式
推荐使用第一种格式,因为第一种格式读法比较顺畅。
2. 数组初始化之动态初始化2.1 数组初始化概述
2.2 数组初始化方式
2.3 动态初始化
代码实例和详细解释:
3. 数组元素访问3.1 数组元素访问
代码示例:
直接输出数组名是不可以的,这样会输出出他的内存地址,想要输出数组中的值要按照序号输出,为什么是0那是因为我们还没有给数组赋值。
4. 内存分配4.1 Java中的内存分配
int [] arr :在内存中会有一个区域专门用来存储它
new int [3] :在内存中也会有一个区域专门用来存储它,但是new 会为程序开辟内存空间,我们设置为3就会给我们开辟3个内存空间,并且添加默认值。
new int[3] 会赋值给 int [] arr,int [] arr 会指向 new int[3]。
这里的001并不是真实的内存地址
数组1和2类似于此
4.2 数组内存图(单个数组)
给数组中的元素赋值,输出的值就会改变。
运行结果图:
4.3 数组内存图(多个数组)
4.4 数组内存图(多个数组指向相同)
arr的值赋给了arr2
这样我们的两个数组就都指向了堆内存的相同地址,这就是(多个数组指向相同)。
因为两个堆内存地址是相同的所以arr2也可以修改值。
当两个数组指向同一个地址内存时,两个数组都是可以访问这个地址内存的,是通用的。
5. 数组初始化之静态初始化5.1 数组初始化之静态初始化
推荐使用简化格式。
6. 数组操作的两个常见小问题6.1 数组操作的两个常见小问题
1. 索引越界
2. 空指针异常
把null赋值给数组arr
把null赋给arr,arr就变为了空值,就会和堆内存地址断去关联。
如果我们再去访问原来的堆内存的话就还报错,因为它找不到。
7. 数组常见操作
7.1 遍历
按照原来的方法一个一个的输出太过麻烦,所以我们就用到了遍历。
可以看到每次输出索引都会加一,所以我们利用循环产生0-4。
for循环遍历
7.2 获取数组元素数量
如果数组的个数有很多,我们该怎么获取数组的元素个数那?
Java中的length,就可以获取数组的个数。
7.3 获取最值
此方法也叫打擂台方法,max与其他的值比较,赢了就继续站擂台,输了下去,让赢的站擂台,一直把所有的值都比较完。
代码示例:
输出: