对于所有的编程语言来说数组都是相对比较重要的数据结构之一。在Java中数组主要用来存放一组固定大小的相同类型的数据。
(一)、数组变量的声明
数组声明有两种写法:
dataType[] arrName;
dataType arrName[];
int[] intArr1;
int intArr2[];
(二)、数组的初始化
两种:
1、 静态初始化 arrName=new dataType[]{value0,value1,…,valueN}
intArr1=new int[]{1,2,3,4,5,6,7,8,9};
静态初始化时可以把 数组的声明和初始化用一条语句完成。 可以省略new dataType[]
dataType[] arrName={value0,value1,…,valueN};
int[] intArr3=new int[]{3,5,7,89};
2、动态初始化 arrName=new dataType[length];//length 初始化数组的长度(元素个数)
数组的声明和动态初始化用一条语句完成。 dataType[] arrName=new dataType[length];
strArr1=new String[10];
integerArr1=new Integer[20];
(三)、数组的引用(取值、赋值)
Java中通过下标来引用数组元素 : arrName[index]; index就是元素下标,从0开始,最大值为数组长度-1;
在使用下标时一定要注意下标范围 [0,array.length-1]。如果下标大于数组length-1或小于0时,抛出数组越界异常 java.lang.ArrayIndexOutOfBoundsException
int intA=intArr1[3];
System.out.println("intA="+intA);
(四)、数组的遍历
for循环
while循环
do…while循环
Java增强型for循环(只能取值,不能赋值)
int[] intArr4=new int[]{23,24,25,26,27,28,29};
for(int i=0;i<intArr4.length;i++){
System.out.print(intArr4[i]+"\t");
}
int index=0;
while(index<intArr4.length) {
System.out.print(intArr4[index] + "\t");
index++;
}
System.out.println();
for(int j:intArr3){
System.out.print(j+"\t");
}
System.out.println();
for(String str:strArr2){
System.out.print(str+"\t");
}
System.out.println();
for(int i=0;i<integerArr1.length;i++){
integerArr1[i]=i+1;
}
for(Integer integer:integerArr1){
System.out.print(integer+"\t");
}
System.out.println();
int[] intArr5=new int[20];
for(int i=1;i<10;i++){
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+(j*i)+"\t");
}
System.out.println();
}
(五)、动态初始化数组的初始值
如果是基本数据类型数组,就是对应数据类型的默认值
如果是引用类型,一般为null
(六)、数组在内存中的存储方式
基本数据类型的数组,数组元素中直接存放值。
对于引用数据类型(String,类类型)的数组:元素中存放的是内存地址。
数组也是一种引用类型。
(七)、二维数组
1、二维数组的声明、初始化和引用与一维数组相似
int[][] intArr1=new int[][]{{1,2},{3,4},{5,6}};
int[][] intArr2={{12,13},{14,15}};
int[][] intArr3=new int[3][4];
int[][] intArr4=new int[][]{{1},{1,2},{5,7,8}};
int[][] intArr5=new int[5][];
System.out.println(intArr1[1][0]);
intArr3[0][0]=1;
2、 二维数组的for遍历赋值和Java增强型for循环赋值
for(int i=0;i<intArr4.length;i++){
for(int j=0;j<intArr4[i].length;j++){
System.out.print(intArr4[i][j]+"\t");
}
System.out.println();
}
System.out.println("intArr5遍历赋值:");
int sum=0;
for(int i=0;i<intArr5.length;i++){
intArr5[i]=new int[i+1];
for(int j=0;j<intArr5[i].length;j++){
intArr5[i][j]=sum++;
}
}
System.out.println("java增强型for循环遍历");
for(int[] ints:intArr5){
for(int intA:ints){
System.out.print(intA+"\t");
}
System.out.println();
}
3、 多维数组遍历
int[][][] intArr6=new int[4][][];
int [][][] intArr7=new int[][][]{{{3,5,8},{2,7,5}}};
for(int i=0;i<=intArr7.length;i++){
for(int j=0;j<= intArr7.length;j++){
for(int k=0;j<= intArr7[i][j].length;k++){
System.out.print(intArr7[i][j][k]+"\t");
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)