什么是数组
- 数组是用来将相同的数据类型存储在存储单元里组成的构造类型。
- 如:整型数组:{13,29,13,192}
如:浮点型数组:{1.3,3.9,3.14} - 数组中的每一个成员,称之为“数组元素”
如何定义一维数组
- 数据类型[ ] 数组名称;如:int[ ] numberList; float[ ] data;
- 数组定义之后,需要初始化,然后才能够使用
好,那下面我们讲讲数组的初始化
一、数组的动态初始化
1:int[] numberList = new int[5];
这是一个整型数组,表示数组中有五个元素,但没有对元素赋值,所以每个元素都是int的默认值:0
- 注意:
Int、float的默认值是0
Bool的默认值是false
Char的默认值是’\0’
String的默认值是””
2:float[] data = new [3]{10.1f,4.4f,5.6f};
这是一个浮点型数组,表示数组中有三个元素。第一个是10.1,第二个是4.4,第三个是5.6
3:string[] data = new []{“albert”,”tom”};
这是一个字符串数组,没有确定数组中有多少元素,后面实际定义了两个元素。
二、数组的静态初始化
如:int[] myArr = {2,3,4,5,6,7};
没有new关键字,直接赋予元素值
注意:在这种情况下,不能将数组定义和静态初始化分开
好,数组的初始化说完,我们来说说怎么访问数组元素
三、如何访问数组元素
-
通过“数组名称+下标”的方式
-
如:myArr[0]/data[5] 数组下标从“0”开始,数组下标不能超越数组界限,如三个元素的数组,下标范围就是:0-2
-
可以通过“数组名称.length”的方式获取数组长度,如:int l = myArr.length; 注意: 系统不会检测
-
数组元素的下标是否越界,编程时,必须保证数组下标不能越界。
-
数组是一个整体,不能直接参加运算(=除外),只能对单个元素进行处理,通常用到数组的地方都会用到循环。
-
数组属于一种引用类型,因此如果将数组名b赋给数组a,那么数组b在操作数组元素时,实质上操作的还是数组a,如下图所示:
那就不得不说一下 引用类型与值类型
-
值类型:存储在栈内存,且栈内存中存的是具体的值
-
值类型举例:int,float,bool等
-
引用类型较为特殊:在栈内存中存储着它的地址(指向堆内存),堆内存中存储具体的值
-
引用类型举例:string,数组等