概念:
在Java语言中,数组是一种复合数据类型(引用数据类型)。数组是有序数据的集合,数组中的元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一的确定数组中的元素。
1、一维数组
1.1一维数组的定义
语法: type arrayName[]; 或者 type [] arrayName;
1.2一维数组的静态初始化
数组定义后,必须经过初始化才能引用。
语法: int inArray[]={1,2,3,4}
1.3一维数组动态初始化
语法1: int [] arr1=new int [3];
arr1[0]=102; arr1[1]=109;…
语法2: int arr=new int []{1,2,3};
1.4 数组的下标与长度
1、通过数组变量名[整型下标]引用数组中的每一个元素。元素的引用方式: arrayName[index];
2、Java对数组元素要进行越界检查以保证安全性;
3、获得数组的元素个数:数组变量名.length。
1.5动态初始化 元素初始值分析
说明:对于动态初始化一维数组;如果只是new(只分配空间)没有赋值数组对于每个元素会自动的赋值。
整型数组所有元素为0;
浮点型数组所有值为0.0;
布尔型数组所有值为false;
字符型默认初始值为空字符,\u000 ’ ’
类类型所有元素为null。
一维数组示例:
int arr[]=new int[3];
arr[0]=12;arr[1]=34;arr[2]=678;
for(int a:arr) {
System.out.print(a+" ");
}
System.out.println("-----------");
boolean arr1[]=new boolean[2];//布尔型为赋值
for(boolean b:arr1) {
System.out.print(b+" ");
}
System.out.println("------------");
String []arr3=new String[4];//类类型,为赋值
for(String a:arr3) {
System.out.print(a+" ");
}
2、二位数组
2.1二位数组的定义
语法: type arrayName[ ] [ ];
type [ ] [ ] arrayName;
type [ ] arrayName[ ] ;
2.2二维数组的静态初始化
语法: int intArray[ ] [ ]={ {1,2},{3,4,},{3,7}};
注意:没必要指出每一维的大小,系统会根据个数自动算出。
2.3 二位数组的动态初始化
法1: 直接为每一维分配空间
int [ ] [ ] arr=new int [2][3];
法2:只创建二维数组对象(每个一维是空的)
int [ ] [ ]arr=new int [2] [ ];
arr[0]=new int [2];
arr[1]=new int[] { 11,12,13};
法3: 带指定值的动态初始化
int [ ] [ ] arr=new int [ ] [ ]{{11,22},{22,44,55}};
2.4 二维数组元素的长度表示法
1、二维数组是特殊的一维数组,里面的每一个元素都是一维数组;
2、二维数组的长度或取:arr.length;
3、或取第一个一维数组的元素长度:ary[0].length;
二维数组示例:
int [][]arr=new int [2][];
arr[0]=new int[2];
arr[1]=new int[] {3,4,5};
arr[0][0]=1;arr[0][1]=2;
System.out.println(arr.length);//输出的是第一一维数组的长度,
//即默认arr[0]的长度
System.out.println(arr[1].length);
for(int[] b:arr) {//二维数组,嵌套循环
for(int a:b) {
System.out.print(a+" ");
}
}
总结
掌握Java数组的相关概念以及一维数组的定义与使用,理解二位以及多维数组。