- 数组
- 有相同数据类型的元素,按照线性排列的方式组成的集合。
- 所有元素必须是同一种类型
- 每个元素按照线性排列存放,使用下标快速访问。
- 可以存放的数据类型:基本数据类型(8种),引用类型(类,接口,数组)
- 有相同数据类型的元素,按照线性排列的方式组成的集合。
- 数组的声明(定义):不能指定长度
- 类型[] 数组名; int[] scoreArr; //推荐使用
- 类型 数组名[];
- 注:
- jvm的内存模型:方法区、虚拟机栈、堆、本地方法栈、程序计数器。
- 栈(stack):存放基本数据类型的数据,引用类型的指针(地址)
- 堆(heep):存放对象的实例,使用new关键字创建的对象
- 数组声明后,仅在栈上分配了空间,存储了数组的引用变量,此时还没有在堆上为元素分配空间
- 声明数组时,[]不能加数字
- jvm的内存模型:方法区、虚拟机栈、堆、本地方法栈、程序计数器。
- 数组的创建(数组的初始化)
- 声明之后,必须初始化才能使用,即为数组元素赋初始值,并在堆上分配空间。
- 静态初始化:指由开发者指定数组中每个元素的值,由系统自动指定数组长度。
- 数组名 = new 类型[]{元素1,元素2,元素3};
- 简写:int[] arr = {1,3,5}; 注:简写必须和声明同时进行。
- 动态初始化:开发者指定数组长度,系统指定数组中每个元素的初始值。
- 数组名 = new 类型[长度]; 长度是大于0的int整数。
- 元素初始值
- 基本数据类型
- 整型(byte、short、int、long) 初始值 0
- 浮点数(float、double) 初始值 0.0
- 字符型(char) 初始值 '\u0000'
- 布尔类型(boolean) 初始值 false
- 引用类型 初始值 null
- 基本数据类型
- 元素初始值
- 数组名 = new 类型[长度]; 长度是大于0的int整数。
- 初始化不可以动静结合
- 数组的访问
- 数组的长度:指数组中元素个数
- 数组名.length; 返回为int,只读属性,不可赋值。
- 数组元素的访问:使用数组的下标访问数组中的某一个元素
- 数组名[index]
- 注:
- 1、索引(下标)从0开始。
- 2、索引越界会产生异常
- 数组的遍历
- 依次访问每个元素,一般用for。
- forEach循环,for循环的简写形式
- for(类型 变量名:数组名{
- 变量名;
- }//从数组中第一个元素开始,每次取一个元素赋给变量,再执行下一步
- for(类型 变量名:数组名{
- 数组的长度:指数组中元素个数