数组

int[] a = new int[6];

int 表示数组里面存放数据的数据类型

[] 表示数组

a 表示数组名

new 新开辟一个堆内存空间

new int[] 新开辟的类型控件为int 类型的数组

6 表示数组长度

= 将新开辟的空间赋予数组a


数组定义格式:

动态初始化

元素类型[] 数组名 = new 元素类型[10];

元素类型 数组名[] = new 元素类型[10];

静态初始化

元素类型[] 数组名 = {元素1,元素2...};

元素类型[] 数组名 = new 元素类型[]{元素1,元素2...};


区别:动态一开始只知道元素类型和元素个数,不清楚具体的值,在使用的时候赋值

静态在类加载的时候,就已经创建好空间并赋值了。


数组在内存中的理解:

* 数组新创建的时候放在栈里,在堆空间开辟对应数量的空间,预留给栈里的数组

* 数组的实际值在对空间里,并且会赋予默认值

* 栈存放的是堆内存指向的地址,以及基本数据类型的值

* int[] j = null;

* 指向的是一个空,引用时发生的是空指针异常,一般就是对象没有被声明

* 引用时也就是引用了一个未被声明的地址


关于 = 的一个特点:

在堆内存中为数组asd开辟了一片空间,并将地址传给栈中的asd

然后栈中的zxc在执行代码后,获得的是数组asd在堆中的地址,对两个数组其中一个修改,两个数组在引用时的结果相同

所以输出的结果就是45

int[] asd = {1,2,3,4};

int[] zxc = asd;

zxc[2] = 45;

System.out.println(asd[2]);

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

推荐阅读更多精彩内容

  • 第四天 数组【悟空教程】 第04天 Java基础 第1章数组 1.1数组概念 软件的基本功能是处理数据,而在处理数...
    Java帮帮阅读 5,501评论 0 9
  • 一、一维数组 1.1数组的声明与创建 定义:数组是一种数据结构,它表示一组相同类型的数据。使用数组需要遵守“先声明...
    柚_稚阅读 4,286评论 2 0
  • 人生会有坎坷,某一程走得踉跄,并不意味着这一生是失败的!下一程也许更加坎坷,也并不意味着这一生是不幸的!每一个人都...
    笨笨熊宛皖阅读 3,831评论 6 13
  • 明月千里寄相思---浅谈古诗词与明月 文/微足道 中秋节马上到了。 说到中秋节,首先想到团聚,然后想到一轮明月,脑...
    青梅煮英雄阅读 6,682评论 4 13
  • 我承认,我是被这个APP的图标LOGO吸引的。(因为挺萌) 绿色主题再加Wecut的名字,第一眼还错觉以为是微信。...
    TUN_阅读 5,390评论 2 3