数组的访问
数组元素的访问:数组名字[索引] 例如:a[2];
*注意:数组的索引从0开始。
索引的数据类型是整型
索引最大值和数组长度始终差1
数组的迭代
数组迭代的两种方式:
第一种:for循环
int [] b1 = new int []{1,2,3,4,5,6,7};
System.out.println(b1[0]);
System.out.println(b1[2]);
数组的迭代:for(int i =0;i<b1.length;i++){
System.out.println(b1[i]);
}
第二种:增强for循环
int [] b1 = new int []{1,2,3,4,5,6,7};
//增强for循环
for(数组元素的类型 临时变量名字 :数组的名字){
System.out.println(临时变量名字 );
}
即:
for(int x:b1){
System.out.println(x);
}
*注意:两种方式的迭代都可以,第二种在企业项目开发中较为常用;
增强for循环是JDK5之后增加的新特性。
多维数组
二维数组的定义:数组的元素也是数组,即小数组组成的大数组。
例如:int [][]a = {{1},{1,2},{1,2,3}};
二维数组的声明:* int [][] a;
* int []a1[];
*int a2[][];(第一种最为常用)
多维数组举例:int [][] a = new int [2][];
a[0] = {1,2,3};
a[1] = {4,5,6};
多维数组的迭代:
int [][] b1 = new int [][]{{1,2},{3,4}};
for(int i =0;i<b1.length;i++){
for(int j =0;j<b1[i].length;j++){
System.out.print(b1[i][j]);
}
}
数组的拷贝
从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束
arraycopy(Object src,int srcPos,Object dest,int destPos,int length)
例子:
int[]={10,100,1000};
int[]={20,200,2000,20000};
System.arraycopy(a,1,b,2,2);
For(int x:b){
System.out.println();
}
数组的特点及优缺点
特点:*数组是引用数据类型
*数组是存储相同数据类型的集合
*数组的小标从0开始
优点:*越界检查 *通用算法
缺点:长度一经定义不能改变