java学习第七天

数组是存储一组相同数据的容器。数组创建以后,他能存储的元素个数就固定了。数组在栈内存中存储的是数组的地址,堆内存中存储的是真实的数据。可以通过索引下标取出数组中的某个元素。


创建初始化和访问数组

数组创建与访问

数组的创建有两种方式:

int    arr[]    =    {10,11,19,80,10}    //直接给数组赋值。

String[]    arr    =    new    String[10]        //定义数组的长度,可以通过下标赋值。未赋值前显示null

数组的访问:

访问数组中某个元素需要两个部分包括数组的名称和元素的下标arr[index]。元素的下标是从0开始的,所以arr[0]表示数组的第一个元素。如果下标超出数组的长度会报错:java.lang.ArrayIndexOutOfBoundsException

length属性可以获取数组的长度。

length属性

获取数组中最后的元素:arr[arr.length - 1]。

修改元素的方法:直接用新的值覆盖旧的值就可以。arr[0] = 25。此时arr[0]的值就变为25


数组的遍历

我们可以通过for语句循环遍历数组中的元素。

for遍历数组

还可以使用增强for循环遍历数组

增强for循环

item表示数组中的单个值,arr表示要循环遍历的数组。int表示数组的数据类型。


基本数据类型和引用数据类型的区别

区别1

基本数据类型赋值时相当于拷贝,修改新的变量不会改变原来的变量。引用数据类型赋值时,相当于把地址传递给新的值,两个变量共享了一块数据地址,所以更改了新值后,旧的值也会发生改变。基本数据类型和引用数据类型在方法中传参时也会出现这样的问题。


复制一个数组

既然数组无法直接赋值进行拷贝,如何解决这个问题呢?

1.可以定义两个数组,循环遍历需要拷贝的数组,将每个元素添加到新的数组里面。

数组的拷贝

可以看出修改arr2中的元素arr1中的元素并没有发生改变。Arrays.toString(数组名)可以将数组以字符串的形式输出。

2. 直接复制数组,Arrays中的方法copyOf

Arrays.copyOf()

方法中第一个参数为需要拷贝的数组,第二个为新数组的长度。


二维数组

二维数组
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容