publicstaticvoidmain(Syring[] args){int[] a =newint[2];
System.out.println(a[2]);}
ArrayIndexOutOfBoundsException:数组下标越界异常!
小结:
数组是相同数据类型(数据类型可以为任意类型)的有序集合
数组也是对象。数组元素相当于对象的成员变量
数组长度的确定的,不可变得。如果越界,则报:ArrayIndexOutOfBounds
数组的使用
For-Each循环
数组作方法入参
数组作返回值
普通For循环
package com.ink.array;publicclassArrayDemo03{publicstaticvoidmain(String[] args){int[] arrays ={1,2,3,4,5};// 打印全部的数组元素for(int i =0; i < arrays.length; i++){
System.out.println(arrays[i]);}
System.out.println("==============================");// 计算所有元素的和int sum =0;for(int i =0; i < arrays.length; i++){
sum = sum + arrays[i];// sum += arrays[i];}
System.out.println("sum="+sum);
System.out.println("==============================");// 查找最大元素int max = arrays[0];for(int i =0; i < arrays.length; i++){if(arrays[i]>max){
max = arrays[i];}}
System.out.println("max="+max);}}
package com.ink.array;publicclassArrayDemo04{publicstaticvoidmain(String[] args){int[] arrays ={1,2,3,4,5};// JAK1.5,没有下标// for (int array: arrays) {// System.out.println(array);// }// printArray(arrays);int[] reverse =reverse(arrays);printArray(reverse);}// 打印数组元素publicstaticvoidprintArray(int[] arrays){for(int i =0; i < arrays.length; i++){
System.out.print(arrays[i]+" ");}}// 反转数组publicstaticint[]reverse(int[] arrays){int[] result =newint[arrays.length];// 反转操作for(int i =0,j = result.length-1; i < arrays.length; i++,j--){
result[j]= arrays[i];}return result;}}
多维数组
多维数组可以看成是数组的数组,比如二位数组就是一个特殊的一堆数组,其每一个元素都是一个一维数组
二位数组
int a[][]=newint[2][5];
解析:以上二维数组a可以看成一个来两行五列的数组
思考:多维数组的使用?
package com.ink.array;publicclassArrayDemo05{publicstaticvoidmain(String[] args){// [4][2]/*
1,2 array[0]
2,3 array[1]
3,4 array[2]
4,5 array[3]
*/int[][] array ={{1,2},{2,3},{3,4},{4,5}};for(int i =0; i < array.length; i++){for(int j =0; j < array[i].length; j++){
System.out.println(array[i][j]);}}}// 打印数组元素publicstaticvoidprintArray(int[] arrays){for(int i =0; i < arrays.length; i++){
System.out.print(arrays[i]+" ");}}}