Java二維數組基本使用

      網友投稿 878 2022-05-29

      二維數組

      1. 二維數組的使用

      2. 使用方式 1: 動態初始化

      3. 使用方式 2: 動態初始化

      4. 使用方式 3: 動態初始化-列數不確

      5. 使用方式 4: 靜態初始化

      6. 二維數組的應用案例

      7. 二維數組使用細節和注意事項

      8. 二維數組課堂練習

      二維數組

      1. 二維數組的使用

      2. 使用方式 1: 動態初始化

      3. 使用方式 2: 動態初始化

      4. 使用方式 3: 動態初始化-列數不確

      5. 使用方式 4: 靜態初始化

      6. 二維數組的應用案例

      7. 二維數組使用細節和注意事項

      8. 二維數組課堂練習

      二維數組

      二維數組的應用場景

      比如我們開發一個五子棋游戲,棋盤就是需要二維數組來表示。如圖:

      1. 二維數組的使用

      快速入門案例:TwoDimensionalArray01.java

      請用二維數組輸出如下圖形

      0 0 0 0 0 0 0 0 1 0 0 0 0 2 0 3 0 0 0 0 0 0 0 0

      //什么是二維數組: //1. 從定義形式上看 int[][] //2. 可以這樣理解,原來的一維數組的每個元素是一維數組, 就構成二維數組 int[][] arr = { {0, 0, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0}, {0,2, 0, 3, 0, 0}, {0, 0, 0, 0, 0, 0} }; //輸出二維圖形 for(int i = 0; i < arr.length; i++) {//遍歷二維數組的每個元素 //遍歷二維數組的每個元素(數組) //解讀 //1. arr[i] 表示 二維數組的第i+1個元素 比如arr[0]:二維數組的第一個元素 //2. arr[i].length 得到 對應的 每個一維數組的長度 for(int j = 0; j < arr[i].length; j++) { System.out.print(arr[i][j] + " "); //輸出了一維數組 } System.out.println();//換行 }

      舉例:訪問二位數組中值為 3 的數組坐標

      //關于二維數組的關鍵概念 //(1) System.out.println("二維數組的元素個數=" + arr.length); //(2) 二維數組的每個元素是一維數組, 所以如果需要得到每個一維數組的值 // 還需要再次遍歷 //(3) 如果我們要訪問第 (i+1)個一維數組的第j+1個值 arr[i][j]; // 舉例 訪問 3, =》 它是第3個一維數組的第4個值 arr[3-1][4-1] = arr[2][3] System.out.println("第3個一維數組的第4個值=" + arr[2][3]); //3

      3的值在二維數組里對應的第3行第4列的值,3對應的坐標本來是 arr[3][4],但數組是從0開始的,所以減1,就是arr[2][3],所以 3 對應的實際坐標就是arr[2][3]

      2. 使用方式 1: 動態初始化

      TwoDimensionalArray02.java

      語法: 類型[][] 數組名=new 類型[大小][大小]

      比如: int a[][]=new int[2][3],表示這個二位數組里面有兩個一維數組,而每個一維數組里有三個元素

      使用演示

      沒有賦值,默認值為 0

      int arr[][] = new int[2][3]; //遍歷arr數組 for(int i = 0; i < arr.length; i++) { for(int j = 0; j < arr[i].length; j++) {//對每個一維數組遍歷 System.out.print(arr[i][j] +" "); } System.out.println();//換行 }

      把上面的數組進行初始化賦值,arr[1][1] = 8 表示 在第二個一維數組的第二個元素的值為 8

      int arr[][] = new int[2][3]; arr[1][1] = 8; //遍歷arr數組 for(int i = 0; i < arr.length; i++) { for(int j = 0; j < arr[i].length; j++) {//對每個一維數組遍歷 System.out.print(arr[i][j] +" "); } System.out.println();//換行 }

      二維數組在內存的存在形式

      3. 使用方式 2: 動態初始化

      TwoDimensionalArray02.java

      先聲明:類型 數組名[][];

      再定義(開辟空間) 數組名 = new 類型[大小][大小];

      賦值(有默認值,比如 int 類型的就是 0)

      使用演示

      int arr[][]; //聲明二維數組 arr = new int[2][3]; //再開空間

      4. 使用方式 3: 動態初始化-列數不確

      Java之二維數組基本使用

      TwoDimensionalArray03

      代碼實現:

      /* 看一個需求:動態創建下面二維數組,并輸出 i = 0: 1 i = 1: 2 2 i = 2: 3 3 3 一個有三個一維數組, 每個一維數組的元素是不一樣的 */ //創建 二維數組,一個有3個一維數組,但是每個一維數組還沒有開數據空間 int[][] arr = new int[3][]; for(int i = 0; i < arr.length; i++) {//遍歷arr每個一維數組 //給每個一維數組開空間 new //如果沒有給一維數組 new ,那么 arr[i]就是null arr[i] = new int[i + 1]; //遍歷一維數組,并給一維數組的每個元素賦值 for(int j = 0; j < arr[i].length; j++) { arr[i][j] = i + 1;//賦值 } } System.out.println("=====arr元素====="); //遍歷arr輸出 for(int i = 0; i < arr.length; i++) { //輸出arr的每個一維數組 for(int j = 0; j < arr[i].length; j++) { System.out.print(arr[i][j] + " "); } System.out.println();//換行 }

      5. 使用方式 4: 靜態初始化

      TwoDimensionalArray04.java

      定義 類型 數組名[][] = {{值 1,值 2..},{值 1,值 2..},{值 1,值 2..}}

      使用即可 [ 固定方式訪問 ]

      比如:

      int[][] arr = {{1,1,1}, {8,8,9}, {100}};

      解讀

      定義了一個二維數組 arr

      arr 有三個元素(每個元素都是一維數組)

      第一個一維數組有 3 個元素 , 第二個一維數組有 3 個元素, 第三個一維數組有 1 個元素

      案例:

      TwoDimensionalArray05.java

      int arr[][]={{4,6},{1,4,5,7},{-2}}; 遍歷該二維數組,并得到和

      /* 思路 1. 遍歷二維數組,并將各個值累計到 int sum */ int arr[][]= {{4,6},{1,4,5,7},{-2}}; int sum = 0; for(int i = 0; i < arr.length; i++) { //遍歷每個一維數組 for(int j = 0; j < arr[i].length; j++) { sum += arr[i][j]; } } System.out.println("sum=" + sum);

      6. 二維數組的應用案例

      使用二維數組打印一個 10 行楊輝三角 YangHui.java

      int[][] yangHui = new int[12][]; for(int i = 0; i < yangHui.length; i++) {//遍歷yangHui的每個元素 //給每個一維數組(行) 開空間 yangHui[i] = new int[i+1]; //給每個一維數組(行) 賦值 for(int j = 0; j < yangHui[i].length; j++){ //每一行的第一個元素和最后一個元素都是1 if(j == 0 || j == yangHui[i].length - 1) { yangHui[i][j] = 1; } else {//中間的元素 yangHui[i][j] = yangHui[i-1][j] + yangHui[i-1][j-1]; } } } //輸出楊輝三角 for(int i = 0; i < yangHui.length; i++) { for(int j = 0; j < yangHui[i].length; j++) {//遍歷輸出該行 System.out.print(yangHui[i][j] + "\t"); } System.out.println();//換行. }

      7. 二維數組使用細節和注意事項

      一維數組的聲明方式有:

      int[] x 或者 int x[]

      二維數組的聲明方式有:

      int[][] y 或者 int[] y[] 或者 int y[][]

      二維數組實際上是由多個一維數組組成的,它的各個一維數組的長度可以相同,也可以不相同。比如: map[][] 是一個二維數組

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

      由 map[0] 是一個含有兩個元素的一維數組 ,map[1] 是一個含有三個元素的一維數組構成,我們也稱為列數不等的二維數組

      8. 二維數組課堂練習

      Java 數據結構

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:oracle常用命令1
      下一篇:WinForm——TableLayoutPanel實例
      相關文章
      久久亚洲国产午夜精品理论片| 亚洲av无码专区在线电影天堂| 日本亚洲色大成网站www久久 | 亚洲AV永久青草无码精品| 久久精品亚洲乱码伦伦中文| 国产亚洲精品美女久久久久| 午夜亚洲国产精品福利| 色窝窝亚洲AV网在线观看| 国产亚洲人成在线播放| 亚洲国产成人无码AV在线影院| 亚洲欧美中文日韩视频| 亚洲国产综合精品中文第一| 最新国产精品亚洲| 亚洲精品中文字幕无乱码麻豆| 亚洲成a人片在线不卡| 7777久久亚洲中文字幕| 亚洲无mate20pro麻豆| 亚洲中文无码永久免费| 亚洲aⅴ天堂av天堂无码麻豆| 亚洲免费综合色在线视频| 亚洲AV男人的天堂在线观看| 亚洲一卡一卡二新区无人区| 亚洲精品无码少妇30P| 亚洲av无一区二区三区| 亚洲国产V高清在线观看| 亚洲国产精品无码久久青草| 久久伊人亚洲AV无码网站| 亚洲欧洲日产国码无码久久99| 亚洲AV无码一区二区乱孑伦AS | 亚洲av无码专区国产乱码在线观看| 亚洲AV无码一区东京热| 久久精品国产亚洲AV无码偷窥 | 在线观看亚洲精品专区| 亚洲А∨精品天堂在线| 亚洲日韩人妻第一页| 国产成人亚洲综合色影视| 亚洲成人在线电影| 亚洲欧洲国产成人精品| 亚洲欧洲精品成人久久曰| 春暖花开亚洲性无区一区二区 | 亚洲AV无码精品色午夜果冻不卡|