首页 > 编程语言 > 详细

Java基础00-数组9

时间:2021-04-09 09:38:10      阅读:18      评论:0      收藏:0      [点我收藏+]

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与其他的值比较,赢了就继续站擂台,输了下去,让赢的站擂台,一直把所有的值都比较完。

技术分享图片

代码示例:

技术分享图片

输出:

技术分享图片

 

Java基础00-数组9

原文:https://www.cnblogs.com/ajing2018/p/14635544.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!