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