Java基础(8)之数组

目录

在这里插入图片描述

1. 数组定义格式

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与其他的值比较,赢了就继续站擂台,输了下去,让赢的站擂台,一直把所有的值都比较完。
在这里插入图片描述
代码示例:
在这里插入图片描述
在这里插入图片描述

发布了50 篇原创文章 · 获赞 13 · 访问量 1859

猜你喜欢

转载自blog.csdn.net/qq_43581078/article/details/104269476