java学习笔记---数组
一、一维数组
一维数组可以存放上千万个数据,并且这些数据的类型是完全相同的。
1、一维数组的声明与内存的分配,要使用Java的数组,必须经过两个步骤:(1)声明数组、(2)分配内存给该数组。这两个步骤的语法如下:
| 数据类型 数组名[ ] ; // 声明一维数组 |
| 数组名 = new 数据类型[个数] ; // 分配内存给数组 |
1 int score[] ; // 声明整型数组score 2 score = new int[3]; // 为整型数组score分配内存空间,其元素个数为3个。
2、除了用上面两行格式来声明并分配内存给数组之外,也可以用较为简洁的方式,把两行缩成一行来编写,其格式如下:
| 数据类型 数组名[] = new 数据类型[个数] |
int score[] = new int[10] ; // 声明一个元素个数为10的整型数组score,同时开辟一块内存空间供其使用。
想要使用数组里的元素,可以利用索引来完成。Java的数组索引编号由0开始,以上的score数组为例,score[0]代表第1个元素,score[1]代表第2个元素,score[9]为数组中第10个元素(也就是最后一个元素)。
示例代码
1 public class JavaArray { 2 3 /** 4 * @param args 5 */ 6 public static void main(String[] args) { 7 // TODO Auto-generated method stub 8 int score[]; 9 score=new int[10]; 10 System.out.println("数组score一共有"+score.length+"个元素:"); 11 for(int i=0;i<score.length;i++) 12 { 13 score[i]=i;//为每个数组赋值 14 System.out.println("score["+i+"]="+score[i]);//输出数组的值 15 } 16 17 } 18 19 }
输出结果:
数组score一共有10个元素:
score[0]=0
score[1]=1
score[2]=2
score[3]=3
score[4]=4
score[5]=5
score[6]=6
score[7]=7
score[8]=8
score[9]=9
除了上面例子中用循环的依法赋值外,可以利用大括号完成。只要在数组的声明格式后面再加上初值的赋值即可,如下面的格式:
| 数据类型数组名[] = {初值0,初值1,…,初值n}; |
| int day[] = {32,23,45,22,13,45,78,96,43,32}; // 数组声明并赋初值 |
3、在Java语言中提供了许多的API方法,供开发人员使用,其中两种常用的数组操作方法,一个是数组的拷贝操作,另一个是数组的排序操作。需要使用它时查阅JDK帮助文档。
<1> System.arrayCopy(source,0,dest,0,x):语句的意思就是:复制源数组source从下标0开始的x个元素到目标数组dest,从目标数组的下标0所对应的位置开始存取。
<2> Arrays.sort(数组名)为数组排序的操作。
二、二维数组
1、二维数组声明的方式和一维数组类似,内存的分配也一样是用new这个关键字。
| 数据类型 数组名[][] ; |
| 数组名 = new 数据类型[行的个数][列的个数] ; |
| 数据类型 数组名[][] = new 数据类型[行的个数][列的个数] ;//较为简洁的方式来声明数组 |
int score[][] ; // 声明整型数组score score = new int[4][3] ; // 配置一块内存空间,供4行3列的整型数组score使用 int score[][] = new int[4][3] ; // 声明整型数组score,同时为其开辟一块内存空间
2、如果想直接在声明时就为数组赋初值,可以利用大括号完成。只要在数组的声明格式后面再加上所赋初值即可,如下面的格式:
| 数据类型 数组名[][] = { {第0行初值}, {第1行初值}, … {第n行初值}, }; |
1 int num[][] = { 2 {23,45,21,45}, // 二维数组的初值赋值 3 {45,23,46,23} //声明了一个整型数组num,数组有2行4列共8个元素 4 };
3、Java允许二维数组中每行的元素个数均不相同,这点与一般的程序语言是不同的。
4、利用".length"来取得二维数组的行数与特定行的元素的个数。
| 数组名.length // 取得数组的行数 |
| 数组名[行的索引].length // 取得特定行元素的个数 |
1 num.length; // 计算数组num的行数,其值为3 2 num[0].length // 计算数组num的第1行元素的个数,其值为4 3 num[2].length // 计算数组num的第3行元素的个数,其值为5
二维数组
1 public class JavaArray2 { 2 public static void main(String[] args) { 3 int x=0; 4 int num[][] = { 5 {23,45,21,45,55,88}, // 声明二维数组时初值赋值 6 {45,23,46,23}, 7 {20,18}, 8 {10,11,15,15,66}//声明了一个整型数组num,数组有4行每行元素个数各不同,一共17个 9 }; 10 System.out.println("二维数组num:"); 11 for(int i=0;i<num.length;i++) 12 { 13 System.out.print("num["+i+"]数组:"); 14 for(int j=0;j<num[i].length;j++) 15 { 16 System.out.print("num["+i+"]["+j+"]="+num[i][j]+" ");//输出每个元素 17 x++;//统计元素的数量 18 } 19 System.out.println(); 20 } 21 System.out.println("二维数组num一共有"+x+"个元素:"); 22 23 24 } 25 26 }
输出结果:
二维数组num:
num[0]数组:num[0][0]=23 num[0][1]=45 num[0][2]=21 num[0][3]=45 num[0][4]=55 num[0][5]=88
num[1]数组:num[1][0]=45 num[1][1]=23 num[1][2]=46 num[1][3]=23
num[2]数组:num[2][0]=20 num[2][1]=18
num[3]数组:num[3][0]=10 num[3][1]=11 num[3][2]=15 num[3][3]=15 num[3][4]=66
二维数组num一共有17个元素:
三、多维数组
使用多维数组时,输入、输出的方式和一、二维相同,但是每多一维,嵌套循环的层数就必须多一层,所以维数越高的数组其复杂度也就越高,以后的实践中再深入探讨吧。


浙公网安备 33010602011771号