java数组理解
【摘要】 数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括 基本数据类型和引用数据类型。 创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是 这块连续空间的首地址。 数组的长度一旦确定,就不能修改。 我们可以直接通过下标(或索引)的方式调用指定位置的元素,速度很快。 数组的分类: 按照维度:一维数组、二维数组、三维数组、… 按照元素的数据类型分:基本数据类型元...
数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括
基本数据类型和引用数据类型。
创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是
这块连续空间的首地址。
数组的长度一旦确定,就不能修改。
我们可以直接通过下标(或索引)的方式调用指定位置的元素,速度很快。
数组的分类:
按照维度:一维数组、二维数组、三维数组、…
按照元素的数据类型分:基本数据类型元素的数组、引用数据类型元素的数组(即对
象数组)
接下来我们具体看看java中数组的一些规范和操作吧:
一维数组的使用:声明
一维数组的使用:数组元素的引用
一维数组的使用:数组元素的引用
要想理解数组还得是从内存层面去理解消化他们,多说无益,上解释
在执行int[]s的时候内存解析如下:
在执行s = new int[10]时内存解析如下:
for循环赋值以后:
到这里我们也可以看看java程序里面的内存结构:
我们在使用数组的时候应该注意什么:
一个比较俗的玩意是什么?就是我们每new一个东西,给一个变量,该变量就会指向新new对象的地址!!!注意java和c语言不同,c语言中的数组名是不可变的,相当于一个常量指针;而java中的数组名就相当一个可以变化的指针,如果不理解,请看以下图示:
看到这里,相信你已经理解了一维数组了,那么接下来就是多维数组了
Java 语言里提供了支持多维数组的语法
对于二维数组的理解,我们可以看成是一维数组 array1又作为另一个一维数组array2的元素而存
在。其实,从数组底层的运行机制来看,其实没 有多维数组。(相当于套娃,数组里面套数组)
和c语言不一样的数组不同,c语言的数组肯定是也该规则的矩阵!!
多维数组的使用
二维数组的内存解析是特别的重要的理解,理解这部分很重要!!!!
少说废话上图上代码
到这里二维数组的基本解释也差不多了,下面我们,我们再说一下数组中的易错点吧:
如下图我们定义了俩个数组,然后对arry1进行了new,而对arry2没有new,接着将arry1的值赋给了arry2,在这里我们需要的注意这里的赋值是地址赋值!!!即arry1和arry2指向了同一个空间!!!,共享内存!!!
想要实现赋值的话,我们可以通过for循环一个一个的去赋值!!!
对于数组我们有工具类可以对它进行操作。
最后的最后是一些数组的异常:
(资料参考尚硅谷)
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者























评论(0)