数组
数组
- 概念
- 用来存放相同类型的多个数据的容器
- jvm堆中连续的内存空间
- 声明
int[] array;
- 数组中元素的类型
- [] 数组
- array 变量
- int[] 数组类型,引用数据类型
引用数据类型和基本数据类型的区别
- 引用数据类型存储的是地址
- 基本数据类型存储的是值
- 赋值
array = new int[5];
- 堆内存中创建数组对象,长度为5
- 初始化每个元素的值:
byte short int long初始化值为0
double float初始化值为0.0
Boolean初始化值为false
Char初始化值为 ’’
引用数据类型 - 初始化值为null
- 初始化
(一)int[] arr = new int[5];
(二)int[] arr = {1,2,3,4,5};
1. 只能用作初始化数组
2. {}中每一个值按照顺序给数组中的元素赋值
3. {}中值得数据类型要和数组声明时的类型保持一致
- 遍历
- fori
语法格式为:
int[] arr = {3,4,2,1,5};
for(int i = 0; i <= arr.length-1; i++) {
System.out.println(arr[i]);
}
其中1.数组长度:数组.length
2. 最大索引为: 数组.length-1
(二)foreach
语法为:
for(类型 变量:源){
循环体;
}
类型和数组的元素的类型保持一致
变量:每次遍历的元素
源:数组
- 使用场景
- 如果循环体中使用到索引,判断元素的位置
- 其他情况两种都可以使用
- 案例
- 数组的复制
- 创建新的同长度的数组对象
- 元素的复制:依次把旧数组的元素复制到新数组的对应位置上
- 数组的扩容
- 创建新的不同长度的数组对象
- 元素的复制:依次把旧数组的元素复制到新数组的对应位置上
- 数组变量的赋值
- 注意事项
- 数组一旦创建,长度不可变
- 数组每一个位置都有初始化的值
- 索引的范围从0到length-1
- 超出索引范围:ArrayIndexOutOfBoundsException:数组索引越界异常