什么是数组?
数组就是多个有序元素的序列,用于存储多个数据类型的集合
例如 int a=1;int b=2;int c=3; 本来都是单个存储,想要使用时候非常的不方便,就将它们放在一块 ,像 int[] arr = {1,2,3}如果想要使用的时候,直接操作arr就行
数组的定义方式(3种)
- 动态数组
数据类型 数组名 = new 数组类型[数组元素个数] ;
eg: String[] arr = new String[3]
eg: int[] arr = new int[2] ;
- 静态数组
数组类型 数组名=new 数组类型[]{元素值1,元素值2~~,元素值n}
eg :int[] arr = new int[]{1,2,3};
eg: String[] arr = new String[]{“你好啊”,“数组”};
- 省略的数组
数组类型[] 数组名={元素值1,元素值2~~,元素值n};
eg: int[] arr = {1,3,4,};
数组元素如何获取?
首先数组是一个序列,那么代表每个元素都有下标,数组下标是从0开始的
例如: int[] arr = {1,3,4,}; 那么1的下标就是0,3的下标就是1,4的下标就是2,我们就可以通过遍历的方式获取
代码示例
运行结果示例
动态数组内存执行过程(外加元素值更改的过程)?
分析:1和2 的过程是main方法进栈内存,在堆内存中创建对象,生存arr数组,数组每个元素的初始值都是0,在堆中生成一个hash地址,并且复制给栈内存,3和4,5和6都是为数组元素赋值的过程,先在栈内存中找到arr数组,然后通过内存地址指向堆内存,找到指定下标,然后将该值赋值给给下标指向的元素