一、有效的下标数组
最小的下标是0,最大的下标是数组的元素个数-1spa
编译器并不会检查你是否用了有效的下标code
可是若是运行的时候出现了无效的下标,可能会致使程序终止blog
二、定义数组变量编译器
<类型>[] <名字> = new <类型>[元素个数];for循环
int[] grades = new int[100];编译
double[] averages = new double[20];class
·元素个数必须是整数变量
·元素个数必须给出循环
·元素个数能够是变量
三、数组成员
length -->能够得到数组元素的数量
四、直接初始化数组
·new建立的数组会获得默认的0值
·int[] scores = {87,98,69,54,65,76,87,99};
·直接用大括号给出数组的全部元素的初始值
·不须要给出数组的大小,编译器会帮助咱们数数
·如何获得数组的大小?length!
五、数组变量
·数组变量是素组的管理者而非数组自己
·数组必须建立出来而后交给数组变量来管理
·数组变量之间的赋值是管理权限的赋予
·数组变量之间的比较是判断是否管理同一个数组
六、复制数组
·必须遍历源数组将每一个元素逐一拷贝给目的数组
七、遍历数组
一般都是使用for循环,让循环变量i从0到<数组的length
这样循环体内最大的i正好是数组最大的有效下标
常见错误
·循环结束条件是<=数组长度
·离开循环后,继续用i的值来作数组元素的下标!
八、for-each循环(遍历数组)
for(<类型><变量>:<数组>){
……
}
对于数组当中的每个元素,取出来做为这个类型的变量
只能输出数组中的每个元素,没法经过变量修改数组中的元素
九、primes[cnt++]=x;
如下代码为例
int[] primes = new int[50];
int x = 5;
int cnt =0;
primes[cnt++]=x;
执行事后,primes[0]=x,cnt=1
十、二维数组
·int[][] a = new int[3][5];
·一般理解为a是一个三行五列的矩阵
十一、二维数组的遍历
二维数组的遍历须要两层的for循环
1 for( int i=0; i<3; i++) 2 { 3 for( int j=0; j<5; j++) 4 { 5 a[i][j] = i*j; 6 System.out.print(a[i][j]); 7 } 8 System.out.println(); 9 }
·a[i][j]是一个int
·表示第i行第j列上的单元,a[i,j]并不存在
十二、二维数组的初始化
int [][] b = { {1,2,3,4}, {1,2,3}, };
·编译器来数数
·每行一个{},逗号分隔
·最后的逗号能够存在,有古老的传统
·若是省略,表示补零