数组是用于存储多个相同类型的数据的存储模型
数组定义格式:
1、数据类型[ ] 变量名 范例:int[ ] arr;
定义了一个int类型的数组,数组名叫arr
2、数据类型 变量名[ ] int arr[ ];
定义了一个int类型的变量,变量名是arr数组
数组动态初始化:
Java中的数组必须先初始化,再使用
所谓初始化就是为数组中的数组元素分配内存空间,并为每个数组元素赋值
1、动态初始化
——只指定数组长度,由系统为数组分配初始值
语法,数据类型[ ] 变量名 = new 数据类型[数组长度 ];
public static void main(String[] args) {
int[] a = new int[3];
/*int:说明数组中的元素类型是int类型
[]:说明这是一个数组
a:这是数组名称
new:为数组申请了内存空间
3:数组中的元素个数*/
}
2、静态初始化
数组元素访问:
数组变量的访问:
语法,数组名
数组内部数据的访问方式
语法,数组名[索引]
索引就是数组中数据的编号(数组是从0开始)
int[] a = new int[3];
/*int:说明数组中的元素类型是int类型
[]:说明这是一个数组
a:这是数组名称
new:为数组申请了内存空间
3:数组中的元素个数*/
System.out.println(a);
for(int i = 0;i < 3 ; i++){
System.out.println(a[i]);
}
内存分配 :
默认值:
整数:0;
浮点数:0.0;
字符:空格;
布尔值:false;
引用数据:null;
因为arr与arr2指向的是同一个地址 ,arr2的赋值相当于改了对应原来地址的值
数组初始之静态初始化:
是指指定每个元素的初始值,有系统决定数组的长度
语法,数据类型 【】数组名 = new 数据类型 【】{数据1,数据2,数据3......}
简化模式,数据类型 【】数组名 = {数据1,数据2,数据3......}
数组操作的两个常见问题:
索引越界,访问了数组中不存在索引对应的元素
空指针异常,访问的数组已经不再指向堆内存的数据
null,引用数据的默认值,表示 不指向任何有效元素
以后在代码运行问题中发现以上情况语句,就需要想到相关问题
数组的常见操作
1、遍历
获取数组元素的个数
语法,数组名.length
范例:arr.length
遍历通用格式:
int [ ] arr = {...}
for(int i = 0 ; i < arr.length ; i++){
arr[i] //对arr进行操作
}