数组

定义:数组(array)是一种用于存储多个相同类型的存储模式
 
定义格式
格式1:数据类型[] 变量名
范例:int[] arr
定义了一个int类型的数组,数组名是arr
 
格式2:数据类型 变量名[]
示例:int arr[]
定义了一个int类型的变量,变量名是arr数组
 
推荐使用格式1
 
初始化方式
动态初始化:初始化时指定数组长度,由系统分配初始值
格式: 数据类型[] 变量名 =new 数据类型[数组长度];
范例:int[] arr=new int[3];
 
静态初始化:初始化时指定每个数组元素的初始值,由系统决定长度
格式:数据类型[] 变量名=new 数据类型[]{数据1,数据2,数据3,...};
范例:int[] arr=new int[]{1,2,3};
简化格式:数据类型[] 变量名={数据1,数据2,数据3,...};
范例:int[] arr={1,2,3};
 
数组元素访问
数组变量访问方式
格式:数组名
 
数组内部保存数据的访问方式
格式:数组名[索引]
 
索引是数组中数据的编号方式
作用:索引用于访问数组中的数据使用,数组名[索引]等同于变量名,是一种特殊的变量名
特征1:索引是从0开始的
特征2:索引是连续的
特征3:索引是逐一增加,每次加1
 
java中的内存分配
栈内存:存储局部变量,定义在方法的变量,例如:arr
使用完毕,立即消失
堆内存:存储new出来的内容(实体,对象),数组在初始化时,会为存储空间添加默认值
整数:0
浮点数:0.0
布尔:false
字符:空字符
引用类型:null
每一个new出来的东西都要一个地址值,使用完毕,都会在垃圾回收器空闲时被回收
 
数组操作的常见小问题
索引越界:访问了数组中不存在的索引对应的元素,造成索引越界问题,eg:int[] arr=new int[3];system.out.println(arr[3]);会出现ArrayIndexOutOfBoundsException
空指针异常:访问数组已经不再指向的堆内存数据,造成空指针异常,eg:int[] arr=new int[3];arr=null;system.out.println(arr[0]);会出现NullPointerException
null:空值,引用数据类型的默认值,表示不再指向任何游戏对象
 
数组常见操作
1.遍历
通用格式
int[] arr={.....};
for(int i=0;i<arr.length;i++){
    arr[x] //对arr[x]进行操作
}
2.获取数组元素个数的数量 
格式:数组名.length
范例:arr.length
3.获取最值
原文地址:https://www.cnblogs.com/yonggang/p/15033712.html