数组
应用场景:有大量相同类型的数据需要存储。
这里的相同类型指的是可以通过自动类型转换成同等类型的数据
比如:byte、short、int、long、float类型都可以自定义转换为double类型!
一、两种数组的定义格式:
array单词就是数组的意思。
array
n.阵列;数组;大量;大堆;大群
vt.排列;配置(兵力);布置
数据类型[] array
数据类型 array[]
int[] array
//int array[]
//定义一个int类型的变量:int array,差别就在于有无[]
二、数组的初始化
1.数组的静态初始化:
所谓静态就是上来就写好了数组里面都有啥!
数组类型[] 数组名=new 数组类型[]{元素1,元素2,…};
//定义一个数组,存储1,2,3,4,5这5个整数;
int[] arr = new int[]{1,2,3,4,5};
注意:数组不是学过的集合,里面的数据可以重复的。
格式详解:
new:就是给数组在内存中开辟了一个空间。
数组一旦创建之后,长度不能发生变化。
简写:
数据类型[] 数组名 = {元素1,元素2,元素3,元素4…};
比如:int[] array = {1,2,3,4,5};
数组形式和变量像,但是直接打印数组名字的话,出的是地址
int[] arr = {1,2,3,4,5};
System.out.println(arr);//[I@6d03e736
double[] arr2 = {1.1,2.2,3.3};
System.out.println(arr2);//[D@568db2f2
数组的地址值:就表示数组在内存中的位置。
以[I@6d03e736为例:
- [ :表示现在打印的是一个数组。
- I:表示现在打印的数组是int类型的。
- @:仅仅是一个间隔符号而已。
- 6d03e736:就是数组在内存中真正的地址值。(十六进制的)但是,我们习惯性会把[I@6d03e736这个整体称之为数组的地址值。
三、数组元素访问
对元素的使用就访问,读或者写!
格式:
数组名[索引];
作用:
- 获取或者修改数组中对应索引1上的值。
一旦修改之后,原来的值就会被覆盖了,和操作变量一样。
- 就是数组容器中每一个小格子对应的编号。
索引的特点:
- 索引一定是从0开始的。
- 连续不间断。
- 逐个+1增长。
最大的索引号等于数组的长度减一
四、数组的遍历
遍历:就是把数组里面所有的内容一个个的全部读取出来。
数组的长度的获得方法:数组名.length;
(今日太困了,剩余笔记会在明天发布)。
可以理解为角标,区分不同地址保存的值! ↩︎