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个元素:

三、多维数组
  使用多维数组时,输入、输出的方式和一、二维相同,但是每多一维,嵌套循环的层数就必须多一层,所以维数越高的数组其复杂度也就越高,以后的实践中再深入探讨吧。

posted @ 2013-02-22 21:43  小虎也行  阅读(652)  评论(0)    收藏  举报