1. 程式人生 > 實用技巧 >11 二維陣列初窺

11 二維陣列初窺

11 二維陣列初窺

定義語法

變數型別[] [] 名稱 = new 變數型別[a] [b];

a代表的是能存放多少個一維陣列

b代表每一個一維數組裡面能存放多少個變數

a*b代表著該二維陣列能夠儲存的元素的個數

如:int[] [] temp = new int[5] [6];

​ 意思是定一個了一個名字為temp的二維陣列,它能存放5個長度為6的一維陣列,即一共可以存放三十個元素

具體操作

1.賦值

第一種,初始化賦值

   int[][] a={{22},{33},{44,88,99}};

第二種:通過for迴圈賦值

   int[][] a=new int[5][6];
   System.out.println("能存放一維陣列的個數"+a.length);
   System.out.println("第一個一維陣列能存放元素的個數"+a[0].length);
   //第二種: 通過for迴圈賦值(所有值都一樣)
   for (int i = 0; i < a.length; i++) {
       for (int j = 0; j < a[i].length; j++) {
              a[i][j]=10;
        }
    }
   //補充:如果想賦值不同的值,直接賦值即可,如a[0][4]=9;a[1][2]=-7

2.取值

第一種 for迴圈輸出

  for (int i = 0; i < a.length; i++) {
      for (int j = 0; j < a[i].length; j++) {
            System.out.print(a[i][j]+"\t");
      }
      System.out.println();
   }

第二種 foreach迴圈輸出

  for (int[]data : a) {
      //把原陣列的地址賦值給新陣列
      for (int i : data) {
           System.out.print(i+"\t");   
      }
      System.out.println();//每輸出一個二維陣列就換行
   } 

3.取最大值或最小值

第一種 for迴圈

 int max=-999999,min=99999999;
 for (int i = 0; i < a.length; i++) {
   for (int j = 0; j < a[i].length; j++) {
       if(max<=a[i][j]){
           max=a[i][j];
       }
       if(min>=a[i][j]){
           min=a[i][j];
        }
     }
 }
 System.out.println("二維陣列中最大值為:"+max);
 System.out.println("二維陣列中最小值為:"+min);  

第二種 foreach

 //foreach迴圈(底層為迭代器)
//foreach定義一個新陣列來接收原陣列的地址
  for (int[]data : a) {
     //把原陣列的地址賦值給新陣列
        for (int i : data) {
             if(i>max){
                max=i;
             }
             if(i<min){
                min=i;
              }
         }
    }
    System.out.println("二維陣列中最大值為:"+max);
    System.out.println("二維陣列中最小值為:"+min);