二維數組中元素的輸出以及遍歷的問題

概念:

首先先來說一說這個一維數組元素輸出以及遍歷的問題:

//定義了一個長度爲3的一維數組
int[] arr = {20,30,40};
//如何取出一維數組中的元素,相信大家並不陌生
System.out.println(arr[0]);//取出索引爲0的第一個元素
//如何取出每一個元素,則需要遍歷
for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
}
//或者採用增強for的遍歷方法
//語法:for (容器中元素的類型 元素的名稱:容器名) {
    System.out.println("元素的名稱");
}
for(int num:arr) {
    System.out.println(num);
}

瞭解了一維數組的元素遍歷,下面來講講二維數組的這類問題,首先看一下二維數組的語法。
二維數組中的元素其實就是由多個一維數組構成的數組。比如我定義了一個長度爲三的二位數組,一位數組的長度由每一個一位數組元素決定。當我們在定義二維數組的時候,一維數組從索引0開始存儲在二維數組的空間當中;
注意:數組這塊索引越界的問題 ArrayIndexOutOfBoundsException 下標越界 以下三個輸出語句都是錯誤的 下標越界
我們所說的數組長度其實是數組中最後一個元素加1

//該二位數組長度爲三,但是每一個一維數組的長度是3,4,5
int[][] arr = {{10,20,30},{9,8,7,6},{45,36,12,0,1}};
System.out.println(arr.length);//輸出二維數組的長度 結果是 3
//下面逐個輸出一維數組的長度
System.out.println(arr[0].length);//索引爲0的一維數組的長度是3
System.out.println(arr[1].length);//索引爲1的一維數組的長度是4
System.out.println(arr[2].length);//索引爲2的一維數組的長度是5
//如果我們要輸出一維數組中每一個元素
System.out.println(arr[0]);**//[I@1b6d3586  打印的是地址值 因爲前面我們說一維數組是從索引爲0開始存儲在二維數組當中的,索引當你輸出索爲0的時候,其實輸出的是首地址 通過C語言我們知道數組名稱是首地址也就是指針**
System.out.println(arr[0][1]);//可以輸出來的是索引爲0的一維數組的第一個元素
//下面再看一下怎麼輸出每個一維數組的元素,方法雙層循環
//外層循環就是前面說的二維數組存儲一維數組的方式
for (int i = 0; i < arr.length; i++) {
    for (int j = 0; j < arr[i].length; j++) {***//爲什麼是 j < arr[i].length 因爲是一維數組的長度***
        System.out.println(arr[i][j]);
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章