一、数组定义格式
1 什么是数组
数组(array)是一种用于存储多个相同类型数据的存储模型
2 数组的定义格式
格式一:数据类型 [ ] 变量名 格式二:数据类型 变量名 [ ]
范例 : int [ ] arr 范例 : int arr [ ]
二、数组初始化之动态初始化
1.动态初始化:初始化时只指定数组长度,由系统为数组分配初始值
格式:数据类型 [ ] 变量名 = new 数据类型 [ 数组长度 ]
范例: int [ ] arr = new int [ 3 ]
2.静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度
格式:数据类型 [ ] 变量名 = new 数据类型 [ ] {数据1,数据2,......} ;
范例: int [ ] arr = new int [ ] {1,2,3} ;
格式:数据类型 [ ] 变量名 = {数据1,数据2,......} ;
范例: int [ ] arr = {1,2,3}
三、数组元素访问
数组变量访问方式 格式:数组名
数组内部保存的数据的访问方式 格式:数组名[ 索引 ]
索引是数组中数据的编号方式作用是索引用于访问数组中的数据,数组名[索引]等同变量名从0开始
四、内存分配
1.栈内存:存储局部变量,定义在方法中的变量,例如:arr,使用完毕,立即消失
堆内存:存储new出来的内容(实体,对象)数组在初始化时,会为存储空间添加默认值,整数: 0,浮点数:0.0,布尔:false,字符:空字符,引用数据类型:null,每一个new出来的 东西都有一个地址值,使用完毕,会在垃圾回收器空闲时被回收
五、数组操作的两个常见两个小问题
1.索引越界:访问了数组中不存在的索引对应的元素,造成索引越界问题
2.空指针异常:访问的数组已经不再指向堆内存的数据,造成空指针异常
null:空值,引用数据类型的默认值,表示不指向任何有效对象
六、数组常见操作
1.遍历
public class Demo{
public static void main ( String [ ] args ){
int[] arr = { 11,32,65,85,54};
for(int x=0;x < arr.length ; x ++){
System.out.println(arr[x]);
}
}
}
2.获取最值
public class MaxDemo{
public static void main (String[] args){
int [ ] arr = {11,45,98,73,60};
int max = arr [0];
for(int x=1;x<arr.length;x++){
if(arr[x]>max){
max=arr[x];
}
}
System.out.println("max"+max);
}
}