1. 程式人生 > >Java基礎概述——二維數組

Java基礎概述——二維數組

二維數組


二維數組

所謂二維數組就是數組中的數組,它的定義格式和一維數組很像。

格式一:int[][] arr = new int[3][4];

[3]:該數組中有三個一維數組

[4]:每個一維數組的長度為4

格式二:int[][] arr = new int[3][];

這種格式沒有定義出每個一維數組的長度,需要自己去定義,arr[0] = new int[2];所以這種方法比較麻煩,不常用

格式三:int[][] arr = {{1,2,3},{4,5},{6,7,8},{9,0}};

這種定義方式簡單有效,最常用

下面通過一段代碼來演示二維數組的定義:

/*
二維數組的定義,獲取數組中的元素
*/
public class ArrayArrayDemo{
         public static void main(String[] args){
                   //創建一個二維數組
                   int[][] arr ={{1,2,3},{4,5,6},{7,8,9},{0}};
                   //獲取數組中的元素進行打印
                   System.out.println(arr[1][2]);
         }
}

運行結果:技術分享圖片

如何遍歷二維數組

遍歷一維數組需要

for循環,那麽二維數組也可以用這種循環進行遍歷,這時就需要for循環的嵌套來進行遍歷,具體怎樣遍歷見下面的代碼:

/*
二維數組的遍歷
*/
public class ArrayArrayDemo_1{
         public static void main(String[] args){
                   //創建一個二維數組
                   int[][] arr ={{1,2,3},{4,5,6},{7,8,9},{0}};
                   //for循環的嵌套進行遍歷數組
                   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();
                   }
         }
}

案例:運用二維數組進行銷售額的計算

統計一個公司三個銷售小組中每個小組的總銷售額以及整個公司的銷售額。如下所示

第一小組銷售額為{11, 12}萬元

第二小組銷售額為{21, 22, 23}萬元

第三小組銷售額為{31, 32, 33, 34}萬元。

/*
需求:統計一個公司三個銷售小組中每個小組的總銷售額以及整個公司的銷售額。如下所示
      第一小組銷售額為{11, 12}萬元
      第二小組銷售額為{21, 22, 23}萬元
      第三小組銷售額為{31, 32, 33, 34}萬元。
思路:1、定義銷售小組的二維數組
2、 創建兩個變量分別存儲小組銷售額和總銷售額
3、用for循環進行遍歷求和(小組和總額)
*/
public class ArrayArrayDemo_2{
        public static void main(String[] args){
      //定義銷售小組的數組
      int[][] arr ={{11,12},{21,22,23},{31,32,33,34}};
      //定義兩個變量來存儲小組銷售額和總銷售額
      int sum = 0;
      int groupSum = 0;
      //使用for循環進行數組的遍歷
      for(int i=0;i<arr.length;i++){
            //每次小組銷售額計算完成都要清空
            groupSum = 0;
            for(int j=0;j<arr[i].length;j++){
            groupSum += arr[i][j];
            }
            System.out.println("第"+(i+1)+"小組的銷售額為:"+groupSum);
            sum += groupSum;
      }
      System.out.println("公司的總銷售額為:"+sum);
  }
}

運行結果:技術分享圖片

案例:隨機點名器

對全班同學的姓名隨機打印輸出

/*
需求:對全班同學的姓名隨機打印輸出
分析思路:1、需要定義一個數組存儲全班同學的姓名
2、需要對全班同學的姓名進行一次遍歷
                   3、需要產生一個隨機數對隨機的姓名打印輸出
*/
import java.util.Random;
public class ArrayArrayDemo_3{
         public static void main(String[] args){
                   //定義一個數組來存儲這些姓名
                   String[] names = {"白蓮女","石玉蘭","申換換","折為成","尚文清","折得民"};
                   //將這些姓名進行遍歷打印
                   for(int i=0;i<names.length;i++){
                            System.out.print(names[i]+"、");
                   }
                   System.out.println();
                   System.out.println("-----------------------------------------------");
                   //通過隨機數的產生來隨機姓名
                   Random ran = new Random();
                   int index = ran.nextInt(names.length);
                   System.out.println(names[index]);
         }
}

運行結果:技術分享圖片


Java基礎概述——二維數組