数组
基本概念及作用
数组是相同数据类型元素的集合。
数组本身是引用类型,即对象。
可以存储基本数据类型和引用数据类型。
数组是一种线性数据类型。
jvm将数组存储在堆中。
数组的创建
声明的两种方式:
数据类型 [] 数组名字 int [] a;
数据类型 数组名字 [] int a [];
两种声明方式没有区别,建议使用第一种,防止数据类型混淆。
在内存空间中是连续的空间,为其中每个存储空间初始化值。
java中的数组在创建时,必须要为其定义长度,长度定义后就不能修改。
int [] a = new int[10];
int [] a = new int[]{1,2,3,4};
//System.out.println(a); I@1b6d3586 对象的hashcode值
System.out.println(Arrays.toString(a));//将对象以字符串的形式输出
数组中如果存储的是基本类型,存储的是具体的值。
引用类型,会存储对象的引用。
数组的遍历
数组名字[索引] a[0] a[1]
注:1.索引是从0开始的
2.索引的数据类型是整型
3.索引最大值和数组长度始终差1
迭代的两种方式
1.使用for循环遍历
区间是已知的:0 - length-1
for(int i=0;i<length;i++){
System.out.print(a[i]);
}
2.foreach循环(增强循环) (jdk5以后)
/*for(数据类型 变量 : 要循环的数组/集合){
每循环一次从数组中取出一个元素赋给前面声明的变量,直到数组中所有的元素遍历完
}*/
for(int item : a){
System.out.println(item);
}
二维数组
二维数组的每一个元素是一个一维数组。
声明
int [] [] a =new int[3] [2];
3表示二维数组的长度,2表示二维数组中每个一维数组的长度。
二维数组中的一维数组的长度可以不确定。
遍历
int [][]a = new int[][]{{1,2},{3,4}};
for(int i = 0;i < a.length;i++){
for(int j = 0;j < a[i].length;j++){
System.out.print(a[i][j]);
}
System.out.println();
}