一、数组介绍
数组:数组指一个容器,可以用来存储同种数据类型的多个值。建议容器的类型与存储的数据类型保持一致。
注意:数组容器在存储数据的时候,需要结合隐式转换考虑。例如
int类型的数组容器(可以存储byte、short、int)
double类型的数组容器(可以存储byte、short、int、long、float、double类型)
二、数组的定义与静态初始化
1、数组的定义
格式一:数据类型 [ ] 数组名 范例: int [ ] array
格式二:数据类型 数组名 [ ] 范例: int array [ ]
2、数组的初始化—静态初始化
初始化:就是在内存中,为数组容器开辟空间,并将数据存入容器的过程。
静态初始化
完整格式:数据类型 [ ] 数组名 = new 数据类型[ ]{元素1,元素2,元素3…};
范例:int [ ] array = new int[ ]{11,22,33};
double [ ] array = new double[ ]{11.1,22.2,33.3};
简化格式:数据类型 [ ] 数组名 = {元素1,元素2,元素3…};
范例:int [ ] array = {11,22,33};
double [ ] array = {11.1,22.2,33.3};
一般直接打印数组名字显示的是地址值,表示数组在内存中的位置。
3、数组元素访问
格式:数组名[索引];
索引:也叫做下标,角标,从0开始,逐个+1增长,连续不间断。
把数据存储到数组当中的格式:数组名[索引]; = 具体数据/变量;
一旦覆盖之后,原来的数据就不存在了。
4、数组遍历
数组遍历:将数组中所有的内容取出来,取出来之后可以(打印,求和,判断…)
注意:遍历是指取出数据的过程,不要局限的理解为,遍历就是打印。
5、动态初始化
动态初始化:初始化时只指定数组长度,由系统为数组分配初始值
格式:数据类型[ ] 数组名 = new 数据类型[数组长度] 范例:int [ ] arr = new int[ 3 ];
数组默认初始化值的规律:整数类型,默认初始化值为0;小数类型,默认初始化值为0.0;字符类型,默认初始化值是’\u0000‘,展示方式是空格;布尔类型,默认初始化值是false;引用数据类型:默认初始化值是null。
6、数组常见问题
当访问了数组中不存在的索引,就会引发索引越界异常。
7、Java内存分配
栈:方法运行时使用的内存,比如main方法运行,进入方法栈中执行
堆:存储对象或者数组,new来创建的,都存储在堆内存
方法区:存储可以运行的class文件
本地方法栈:JVM在使用操作系统功能的时候使用,和我们开发无关
寄存器:给CPU使用,和我们开发无关