av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

java語(yǔ)言

JAVA多維數(shù)組備考知識(shí)點(diǎn)解析

時(shí)間:2025-01-15 02:28:43 java語(yǔ)言 我要投稿
  • 相關(guān)推薦

JAVA多維數(shù)組備考知識(shí)點(diǎn)解析2017

  維數(shù)為二維或高于二維的數(shù)組稱為多維數(shù)組,在java中并沒(méi)有真正的多維數(shù)組,只有數(shù)組的數(shù)組。下面是小編整理的關(guān)于JAVA多維數(shù)組備考知識(shí)點(diǎn)解析,歡迎閱讀!

JAVA多維數(shù)組備考知識(shí)點(diǎn)解析2017

  (一) 二維數(shù)組的聲明

  二維數(shù)組與一維數(shù)組的聲明類似,只是需要用兩個(gè)“[]”來(lái)表明是二維數(shù)組的'聲明,格式如下:

  數(shù)據(jù)類型 數(shù)組名[][];

  或

  數(shù)據(jù)類型[][] 數(shù)組名;

  或

  數(shù)據(jù)類型[]數(shù)組名[];

  其中:數(shù)據(jù)類型可以是java的基本類型和引用類型,數(shù)組名要求是一個(gè)合法的標(biāo)識(shí)符,兩個(gè)“[]”,表示是一個(gè)二維數(shù)組。

  (二)二維數(shù)組的初始化

  同一維數(shù)組一樣,只聲明了數(shù)組,這時(shí)候其值為null,要想使用數(shù)組,還需要做初始化工作。數(shù)組初始化為聲明的數(shù)組指定數(shù)組元素個(gè)數(shù),為數(shù)組元素分配空間并賦值。數(shù)組初始化可以通過(guò)如下幾種方式完成。

  1. 用new關(guān)鍵字初始化數(shù)組

  用關(guān)鍵字new初始化數(shù)組時(shí),除了為數(shù)組指定數(shù)組元素個(gè)數(shù)、分配存儲(chǔ)空間外,還會(huì)為數(shù)組元素按照數(shù)據(jù)類型的不同賦初值。具體如下:

  若為數(shù)值型,數(shù)組元素的默認(rèn)值為0,;

  若為布爾型,數(shù)組元素的默認(rèn)值為false;

  若為引用型,數(shù)組元素的默認(rèn)值為空(null)。

  (1)先聲明數(shù)組,在初始化數(shù)組。這里實(shí)際上是兩條語(yǔ)句,具體格式如下:

  數(shù)據(jù)類型[][] 數(shù)組名; 或數(shù)據(jù)類型 數(shù)組名[][];

  數(shù)組名=new 數(shù)據(jù)類型[length1][length2];

  第一條語(yǔ)句是數(shù)組聲明語(yǔ)句,第二條語(yǔ)句則是初始化語(yǔ)句。要求這兩條語(yǔ)句中數(shù)組名、數(shù)據(jù)類型必須一致。Length1指定數(shù)組的行數(shù),length2指定數(shù)組的列數(shù)。

  數(shù)組的Length1和Length2可以是直接的int類型常數(shù),也可以是已經(jīng)賦值的int類型變量或int類型表達(dá)式。

  例如:

  int m=3,n=2;

  int[] a;

  a = new int[m][n];

  上面的'語(yǔ)句聲明并初始化一個(gè)3行兩列的數(shù)組a,同時(shí),根據(jù)默認(rèn)值的約定,數(shù)組a中的所有元素初值均為0

  (2)在聲明數(shù)組的同時(shí)用new關(guān)鍵字初始化數(shù)組。實(shí)際上,這種方式是將第一種方式的兩條語(yǔ)句合并為一條語(yǔ)句。格式如下:

  數(shù)據(jù)類型[][] 數(shù)組名 =new 數(shù)據(jù)類型[length1][length2];

  或

  數(shù)據(jù)類型 數(shù)組名[][]=new 數(shù)據(jù)類型[length1][length2];

  例如:

  int m=3,n=2;

  int[][] a = new int[m][n];

  2.用一個(gè)已經(jīng)初始化的數(shù)組對(duì)數(shù)組初始化

  可以直接使用一個(gè)已經(jīng)初始化的數(shù)組對(duì)新聲明的數(shù)組進(jìn)行初始化。

  格式如下:

  數(shù)據(jù)類型[][] 數(shù)組名=已初始化數(shù)組

  例如:

  Int[][]a=new int[10][10];

  Int[][]b=a;

  同一維數(shù)組一樣,這種初始化會(huì)使得數(shù)組a與b具有相同的存儲(chǔ)地址,a數(shù)組與b數(shù)組指向了同一個(gè)物理地址,任何對(duì)數(shù)組a的改變都會(huì)使數(shù)組b做相應(yīng)的修改,同樣,任何對(duì)數(shù)組b的修改也會(huì)使a數(shù)組的內(nèi)容發(fā)生變化。

  3.直接指定初值的方式

  用直接指定初值的方式初始化數(shù)組是指在聲明數(shù)組的同時(shí)將數(shù)組元素的初值依次寫入賦值號(hào)(=)后的一對(duì)大括號(hào)({})內(nèi),大括號(hào)中的每個(gè)元素也是一對(duì)大括號(hào)。如:

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

  這樣就定義了一個(gè)3行2列的數(shù)組。

  (三)不規(guī)則數(shù)組

  像其他語(yǔ)言一樣,在定義二維數(shù)組時(shí),我們可以使用“int a[][]=new int[3][2]”的方式創(chuàng)建3行2列的數(shù)組,這樣的數(shù)組是規(guī)則的,與數(shù)學(xué)上的矩陣一樣。在java中我們還可以定義列數(shù)不同的數(shù)組,對(duì)于列數(shù)不同的數(shù)組稱之為不規(guī)則數(shù)組。

  不規(guī)則數(shù)組的定義有兩種方式。

  1.直接指定初值方式

  如下語(yǔ)句:

  int a [][] = {{1,2,3},{4,5},{6,7,8,9}};

  就定義了一個(gè)不規(guī)則數(shù)組,這樣,數(shù)組中各元素包括:

  a[0][0], a[0][1], a[0][2],

  a[1][0], a[1][1],

  a[2][0], a[2][1], a[2][2], a[2][3],

  其他元素的訪問(wèn)則會(huì)導(dǎo)致數(shù)組下標(biāo)異常錯(cuò)誤,如

  System.out.println(a[0][3]);

  System.out.println(a[1][2]);

  System.out.println(a[1][3]);

  都會(huì)產(chǎn)生異常

  2.用new關(guān)鍵字初始化數(shù)組

  除了直接指定初值的方式外,還可以使用new關(guān)鍵字創(chuàng)建不規(guī)則數(shù)組,如下語(yǔ)句同樣創(chuàng)建了一個(gè)不規(guī)則數(shù)組:

  int[ ][ ] arr=new int[3][];

  arr[0]=new int[3];

  arr[1]=new int[2];

  arr[2]=new int[4];

  這里需要注意的是“int[ ][ ] arr=new int[3][];”語(yǔ)句與C++的定義方式正好相反,在C++中,數(shù)組的定義形式為“int[ ][ ] arr=new int[][3];”,讀者一定不要混淆。

  不規(guī)則數(shù)組的.好處是可以節(jié)省存儲(chǔ)空間,對(duì)于列不是完全相同的時(shí)候可以使用,在下面的楊輝三角形的例子中使用的就是不規(guī)則數(shù)組。

 。ㄋ模┒S數(shù)組應(yīng)用

  1.二維數(shù)組元素的遍歷

  在一維數(shù)組中,遍歷數(shù)組元素使用如下語(yǔ)句:

  for(int i=0;i

  System.out.println(a[i]);

  }

  在二維數(shù)組中可以使用如下語(yǔ)句遍歷數(shù)組元素:

  for(int i=0;i

  for(int j=0;j

  System.out.print(a[i][j]+'\n');

  }

  System.out.println();

  }

  特別注意,因?yàn)樵诙S數(shù)組中存在不規(guī)則數(shù)組的情況,所以在訪問(wèn)時(shí)需要使用a[i].length的方式來(lái)限定二維數(shù)組第二維的元素個(gè)數(shù),否則會(huì)發(fā)生數(shù)組下標(biāo)異常錯(cuò)誤。

  2.利用不規(guī)則數(shù)組實(shí)現(xiàn)楊輝三角形

  楊輝三角形,又稱賈憲三角形,帕斯卡三角形,是二項(xiàng)式系數(shù)在三角形中的一種幾何排列。其形式如下:

  1

  1 1

  1 2 1

  1 3 3 1

  1 4 6 4 1

  我們可以利用java的不規(guī)則數(shù)組來(lái)存儲(chǔ)這些信息,其運(yùn)算規(guī)律為: a[m][n]=a[m-1][n-1]+a[m-1][n];當(dāng)m=n或者n=0時(shí),楊輝三角形的元素a[m][n]=1;否則,楊輝三角形的元素a[m,n]=a[m-1,n-1]+a[m-1,n] 。其中,m,n為三角形的行和列,均從0開(kāi)始。

  程序如下:

  [例5-12]

  class YangHui {

  public void paint(int n){//輸出楊輝三角形的值,n為行數(shù)

  int a[][]=new int[n][];

  for(int i=0;i

  a[i]=new int[i+1];//定義不規(guī)則數(shù)組

  }

  for(int i=0;i

  for(int j=0;j

  if(i==j||j==0){

  a[i][j]=1;

  }

  else

  a[i][j]=a[i-1][j-1]+a[i-1][j];

  }

  }

  //不規(guī)則數(shù)組的輸出

  for(int i=0;i

  for(int j=0;j

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

  }

  System.out.println();//輸出換行

  }

  }

  }

  public class Test5_12 {

  public static void main(String[] args) {

  YangHui yh = new YangHui();

  yh.paint(10);

  }

  }

  運(yùn)行結(jié)果如下:

  1

  1 1

  1 2 1

  1 3 3 1

  1 4 6 4 1

  1 5 10 10 5 1

  1 6 15 20 15 6 1

  1 7 21 35 35 21 7 1

  1 8 28 56 70 56 28 8 1

  1 9 36 84 126 126 84 36 9 1

  讀者可以通過(guò)yh.paint(n)的方式很方便的輸出具有n行楊輝三角形的`數(shù)據(jù)。讀者也可以試著修改例[5-12]讓其顯示效果更好(如顯示效果為一個(gè)等腰三角形)。

  小結(jié)

  本章對(duì)數(shù)組這種引用數(shù)據(jù)類型做了較詳細(xì)的介紹,對(duì)數(shù)組的聲明、初始化及數(shù)組元素的使用做了詳細(xì)的說(shuō)明,并給出了一維數(shù)組的幾個(gè)典型的應(yīng)用,在二維數(shù)組的中特別指出了Java數(shù)組與其他編程語(yǔ)言的不同,給出了不規(guī)則數(shù)組的概念,并給出了一個(gè)不規(guī)則數(shù)組的具體應(yīng)用實(shí)例。

【JAVA多維數(shù)組備考知識(shí)點(diǎn)解析】相關(guān)文章:

JAVA數(shù)組知識(shí)解析03-03

多維數(shù)組的指針變量07-29

PHP 多維數(shù)組的排序問(wèn)題12-06

C語(yǔ)言-15:多維數(shù)組與指針07-25

Java數(shù)組的使用07-14

php遞歸遍歷多維數(shù)組的方法04-11

Java中數(shù)組的特性03-21

Java數(shù)組操作的方法02-20

c語(yǔ)言多維數(shù)組地址的表示方法07-31