第四章 数组与方法

若想要存放一连串相关的数据,使用数组是个相当好用的选择。此外,如果某个程序片段经常反复出现,那么将它定义成一个方法可以有效地简化程序代码。

数组是由一组相同类型的变量所组成的数据类型,它们以一个共同的名称表示。

一维数组

一维数组可以存放上千万个数据,并且这些数据的数据类型相同。

一维数组的声明和内存存储

一维数组的声明和内存的分配

数据类型数组名[ ]          // 声明一维数组

数组名 = new 数据类型[个数] // 分配内存给数组

数组的数据类型和变量的数据类型一样,数组名的命名原则本着简单明了,和标识符的命令原则一样,这里实用new关键字来定义数组的个数,也就是在内存中存储多少个数据。

实例:

       int  a[];                   //声明一个int类型的a数组

       a = newint[3];              //分配的内存空间是存储3个元素

声明数组的时候同时分配内存空间

数据类型数组名[] = new 数据类型[个数]

int a[] = new int[3]

在这个内存的存储上占多少个字节呢,一个int 型数据占4个字节,这个a数组有3个元素,所有在内存中的大小为3*4=12个字节。

数组元素的表示方法

想要使用数组里的元素,可以利用索引来完成。Java 的数组索引编号由 0 开始,

以上一节中的a数组为例, a[0]代表第1个元素, a[1]代表第2个元素,a[2]代表第3个元素。

实例

public classjava41

{

  public static void main(String []args)

  {

    int i,a[];

    a=new int[3];

    for(i=0;i<3;i++)

      System.out.print("a["+i+"]="+a[i]+",\t");

    System.out.println("\n shu zu chang dushi :"+a.length);

  }

}

这里实用了一个参数是.length,是获取数组的长度

格式:数组名.length

数组的赋值

数据类型数组名[] = {初值 0,初值 1,…,初值 n}(一般程序中实用这种格式来声明数组和分配内存)

int a[] = { 1,2,3,4,5 }

也可以先声明数组在赋值

Int a[] = new int[];

a[0] = 1;

a[1] = 2;

a[2] = 3;

实例:数组中的最大值和最小值

public class java42

{

 public static void main(String [] args)

  {

   int max,min,i,a[]={23,56,28,72,97};

   max=min=a[0];

   System.out.print("shu zu yuan su : ");

   for(i=0;i

     {

       System.out.print(a[i]+" ");

       if(a[i]>max)

         max=a[i];

        if(a[i]

         min=a[i];

     }

     System.out.println("\n shu zu max: "+max);

     System.out.println("shu zu min: "+min);

  }

}

实例:数组内元素的排序,实用的关键字是sort 方法对数组进行排序,Arrays.sort(数组名)为数组排序的操作。

importjava.util.*;

public classjavasz

{

  public static void main(String [] args)

  {

    int a[] = {4,8,23,21,46,33,2,1};

    int b;

    b=a.length;

    System.out.print("shu zu pai xu qianshun xu : ");

    for(int i=0;i

      System.out.print(a[i]+" ");

    Arrays.sort(a);

    System.out.print("\n shu zu pai xu houde xu lie : ");

    for(int i=0;i

      System.out.print(a[i]+"");   

  }

}

这个例子中实用了这个包的概念,这里只是一提,等后期还会详细讲解。

二维数组和多维数组

二维数组的声明格式

数据类型数组名[][]

数组名 = new 数据类型[行的个数][列的个数]

二维数组的声明格式

数据类型数组名[][] = new 数据类型[行的个数][列的个数]

二维数组的声明和赋值

数据类型数组名[][] = { { 0 行初值},

{1 行初值}

{n 行初值},

};

要特别注意的是,用户不需要定义数组的长度,因此在数组名后面的中括号里不必填入任何的内容。此外,在大括号内还有几组大括号,每组大括号内的初值会依序指定给数组的第 01、…、n 行元素。

实例:

int sum[][] = {

{20,30,25},

{33,24,54},

}

值得一提的是 Java 允许二维数组中每行的元素个数均不相同,这点与一般的程序语言是不同的。

Int a[][] = {

       {43,87,74},

       {32,44,24,98},

       {23,42,65},

}

取得二维数组的行数与特定行的元素的个数

数组名.length // 取得数组的行数

数组名[行的索引].length // 取得特定行元素的个数

二维数组的使用

实例

public classjavaew

{

  public static void main(String [] args)

  {

    int a[][]={

                {63,72,59},

                {78,49,64}

              };

    int i,j,sum;

    sum = 0;

    for(i=0;i

    {

      System.out.print("di yi hang neirong :");

      for(j=0;j

      {

        System.out.print(a[i][j]+"");

        sum+=a[i][j];

      }

      System.out.println();

    }

  System.out.println("\n zong cheng ji shi: "+sum);

  }

}

三维数组,和二位数组的声明和赋值格式一样,但是在再输出的时候加一个for循环。

实例:

public classjava43

{

  public static void main(String [] args)

  {

    int i,j,k;

    int sz[][][] ={{{2,34,24,45},{23,55,32,4}},{{32,43,34,3},{43,54,21,4}}};

    for(i=0;i

        for(j=0;j

            for(k=0;k

            {

              System.out.print("su["+i+"]["+j+"]["+k+"]= ");

              System.out.println(sz[i][j][k]);

            }

         

     

  }

}

这里容易出错的位置是数组赋值的时候。容易混淆,慢慢来希望你能成功。

第四章 数组与方法

若想要存放一连串相关的数据,使用数组是个相当好用的选择。此外,如果某个程序片段经常反复出现,那么将它定义成一个方法可以有效地简化程序代码。

数组是由一组相同类型的变量所组成的数据类型,它们以一个共同的名称表示。

一维数组

一维数组可以存放上千万个数据,并且这些数据的数据类型相同。

一维数组的声明和内存存储

一维数组的声明和内存的分配

数据类型数组名[ ]          // 声明一维数组

数组名 = new 数据类型[个数] // 分配内存给数组

数组的数据类型和变量的数据类型一样,数组名的命名原则本着简单明了,和标识符的命令原则一样,这里实用new关键字来定义数组的个数,也就是在内存中存储多少个数据。

实例:

       int  a[];                   //声明一个int类型的a数组

       a = newint[3];              //分配的内存空间是存储3个元素

声明数组的时候同时分配内存空间

数据类型数组名[] = new 数据类型[个数]

int a[] = new int[3]

在这个内存的存储上占多少个字节呢,一个int 型数据占4个字节,这个a数组有3个元素,所有在内存中的大小为3*4=12个字节。

数组元素的表示方法

想要使用数组里的元素,可以利用索引来完成。Java 的数组索引编号由 0 开始,

以上一节中的a数组为例, a[0]代表第1个元素, a[1]代表第2个元素,a[2]代表第3个元素。

实例

public classjava41

{

  public static void main(String []args)

  {

    int i,a[];

    a=new int[3];

    for(i=0;i<3;i++)

      System.out.print("a["+i+"]="+a[i]+",\t");

    System.out.println("\n shu zu chang dushi :"+a.length);

  }

}

这里实用了一个参数是.length,是获取数组的长度

格式:数组名.length

数组的赋值

数据类型数组名[] = {初值 0,初值 1,…,初值 n}(一般程序中实用这种格式来声明数组和分配内存)

int a[] = { 1,2,3,4,5 }

也可以先声明数组在赋值

Int a[] = new int[];

a[0] = 1;

a[1] = 2;

a[2] = 3;

实例:数组中的最大值和最小值

public class java42

{

 public static void main(String [] args)

  {

   int max,min,i,a[]={23,56,28,72,97};

   max=min=a[0];

   System.out.print("shu zu yuan su : ");

   for(i=0;i

     {

       System.out.print(a[i]+" ");

       if(a[i]>max)

         max=a[i];

        if(a[i]

         min=a[i];

     }

     System.out.println("\n shu zu max: "+max);

     System.out.println("shu zu min: "+min);

  }

}

实例:数组内元素的排序,实用的关键字是sort 方法对数组进行排序,Arrays.sort(数组名)为数组排序的操作。

importjava.util.*;

public classjavasz

{

  public static void main(String [] args)

  {

    int a[] = {4,8,23,21,46,33,2,1};

    int b;

    b=a.length;

    System.out.print("shu zu pai xu qianshun xu : ");

    for(int i=0;i

      System.out.print(a[i]+" ");

    Arrays.sort(a);

    System.out.print("\n shu zu pai xu houde xu lie : ");

    for(int i=0;i

      System.out.print(a[i]+"");   

  }

}

这个例子中实用了这个包的概念,这里只是一提,等后期还会详细讲解。

二维数组和多维数组

二维数组的声明格式

数据类型数组名[][]

数组名 = new 数据类型[行的个数][列的个数]

二维数组的声明格式

数据类型数组名[][] = new 数据类型[行的个数][列的个数]

二维数组的声明和赋值

数据类型数组名[][] = { { 0 行初值},

{1 行初值}

{n 行初值},

};

要特别注意的是,用户不需要定义数组的长度,因此在数组名后面的中括号里不必填入任何的内容。此外,在大括号内还有几组大括号,每组大括号内的初值会依序指定给数组的第 01、…、n 行元素。

实例:

int sum[][] = {

{20,30,25},

{33,24,54},

}

值得一提的是 Java 允许二维数组中每行的元素个数均不相同,这点与一般的程序语言是不同的。

Int a[][] = {

       {43,87,74},

       {32,44,24,98},

       {23,42,65},

}

取得二维数组的行数与特定行的元素的个数

数组名.length // 取得数组的行数

数组名[行的索引].length // 取得特定行元素的个数

二维数组的使用

实例

public classjavaew

{

  public static void main(String [] args)

  {

    int a[][]={

                {63,72,59},

                {78,49,64}

              };

    int i,j,sum;

    sum = 0;

    for(i=0;i

    {

      System.out.print("di yi hang neirong :");

      for(j=0;j

      {

        System.out.print(a[i][j]+"");

        sum+=a[i][j];

      }

      System.out.println();

    }

  System.out.println("\n zong cheng ji shi: "+sum);

  }

}

三维数组,和二位数组的声明和赋值格式一样,但是在再输出的时候加一个for循环。

实例:

public classjava43

{

  public static void main(String [] args)

  {

    int i,j,k;

    int sz[][][] ={{{2,34,24,45},{23,55,32,4}},{{32,43,34,3},{43,54,21,4}}};

    for(i=0;i

        for(j=0;j

            for(k=0;k

            {

              System.out.print("su["+i+"]["+j+"]["+k+"]= ");

              System.out.println(sz[i][j][k]);

            }

         

     

  }

}

这里容易出错的位置是数组赋值的时候。容易混淆,慢慢来希望你能成功。