1.数组的应用
1.1保存数据
保存数据就是将数据存在数组内。
1.2作为函数的参数
1..参数传数组类型(引用数据类型)
我们发现在方法a中修改数组的内容,方法外部的数组内容也发生改变。
原因是什么?
因为数组是引用类型,按照引用的方式来进行传递,是可以修改中存放的内容的。
1.2.1总结
所谓的“引用”本质上是存了一个地址,Java中将数组设置成引用类型,这样的话后续进行数组参数传参,其实只是将数组的地址传入形参中,这样可以避免对整个数组进行拷贝。
2.作为函数的返回值
例 斐波那契数列的前n项。
如果我们想自己输入多少项。我们应该怎么改呢?
这样就好了。
2.数组的练习
2.1数组转字符串
例
后续我们在打印数组的时候使用这个方法就简单多了。
Java中提供了Java.util.Arrays包,其中包含了一些操作数组的常用方法。
2.2数组的拷贝
例 小小的修改
我们发现修改的是newArray的内容,然而array的内容也改变了。这是因为这两个是引用的同一个数组地址。
不懂这个的小伙伴可以去看博主的上篇 数组的定义。
拷贝
这个拷贝用了Arrays中的copyof的方法这个方法拷贝的时候是创建了一个新的数组.我们试验一下
我们发现修改newArray的数据array没有发生改变,所以newArray是一个新的数组
例 求数组中所有项的平均数
2.2查找数组中指定的元素
顺序查找:查找数组中指定元素的位置
例
二分查找:
针对有序的数组二分查找更迅速。
如果升序数组为例,二分查找的思路先取中间位置的元素,然后使用带查找元素与数组中间元素进行比较。
相等,直接返回中间元素的下标
小于,用类似的方法去左半侧查找
大于,用类似的方法去右半侧查找
例
2.3数组排序
例,我们使用的是Java中内置的排序算法。
这个算法后面的博文会讲的。
2.4数组逆序
例
思路:就是先设定两个下标,分别指向第一个元素和最后一个元素,交换两个元素的位置,
然后让前一个下标自增,后一个下标自减,循环继续直到结束。