概念
相同类型数据的集合
//这个特点说明,可以定义任意类型的数组,只要定义的数组只有一种数据类型
基本类型 short byte int long double float boolean char 后面加[]
引用类型:类,数组,接口
String [] 里面的数据是字符串类的对象
数组声明
int [] num;//整型数组
数组初始化(数组大小10)
num=new int [10];
数组长度arr.length
代码学习的第一个错误:
ArrayIndexOutOfBoundsException
数组越界
Array数组Index索引Bounds边界Exception异常
数组只有10个数据的位置,当你访问这10个位置以外的数据,就会抛出这个异常
数组在java中内存图

数组的三种初始化方法
1.静态初始化
int [] arr={1,2,3,6,7}
创建+赋值
2.动态初始化
int [] arr=new int[5];
arr[0]=2;
arr[1]=3;
数组是引用类型,数组变量是对像,创建的这个数组是对象
java的引用类型是在堆中,所以数组不论什么类型都在堆中
特点:1.大小确定,一旦创建,大小就不允许修改
2.类型必须一致一个数组就是同一种类型
3.下标的合法区间[0,arr.length-1]
jdk1.5之后出现了增强for循环
for ...each
for(int num:arr){ }
反转数组案例
java
int[] s={1,2,3,4,5};
int[] arr2=reverse(s);
for(int num:arr2){
System.out.print(num+"\t");
}
}
public static int[] reverse(int[] array){
int[] arr=new int[array.length];
for(int i=0;i<array.length;i++){
arr[i]=array[array.length-1-i];
}
return arr;
}
}
/*主方法里定义原数组 s = {1,2,3,4,5}
把原数组 传入 reverse 方法
方法里新建一个空数组,把原数组元素「倒着赋值」放进新数组
把反转后的新数组 return 还给主方法
主方法用增强 for 遍历、打印反转结果*/
多位数组示意图(2维)

java
//双层循环遍历多维数组,
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
System.out.println(arr[i][j]);
}
}