日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1.5 不规则数组

發布時間:2025/3/20 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1.5 不规则数组 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

通過前面的學習我們知道 Java 實際上沒有多維數組,只有一維數組。多維數組被解釋為是數組的數組,所以因此會衍生出一種不規則數組。

規則的 4×3 二維數組有 12 個元素,而不規則數組就不一定了。如下代碼靜態初始化了一個不規則數組。

int intArray[][] = {{1,2}, {11}, {21,22,23}, {31,32,33}};

高維數組(二維以及二維以上的數組稱為高維數組)是 4 個元素,但是低維數組元素個數不同,如圖 1 所示,其中第 1 個數組有兩個元素,第 2 個數組有 1 個元素,第 3 個數組有 3 個元素,第 4 個數組有 3 個元素。這就是不規則數組。

動態初始化不規則數組比較麻煩,不能使用 new int[4][3] 語句,而是先初始化高維數組,然后再分別逐個初始化低維數組。代碼如下:

int intArray[][] = new int[4][]; //先初始化高維數組為4 // 逐一初始化低維數組 intArray[0] = new int[2]; intArray[1] = new int[1]; intArray[2] = new int[3]; intArray[3] = new int[3];

從上述代碼初始化數組完成之后,不是有 12 個元素而是 9 個元素,它們的下標索引如圖 2 所示,可見其中下標 [0][2]、[1][1] 和 [1][2] 是不存在的,如果試圖訪問它們則會拋出下標越界異常。

提示:下標越界異常(ArrayIndexOutOfBoundsException)是試圖訪問不存在的下標時引發的。例如一個一維 array 數組如果有 10 個元素,那么表達式 array[10] 就會發生下標越界異常,這是因為數組下標是從 0 開始的,最后一個元素下標是數組長度減 1,所以 array[10] 訪問的元素是不存在的。

下面介紹一個不規則數組的示例:

import java.util.Arrays; public class HelloWorld {public static void main(String[] args) {int intArray[][] = new int[4][]; // 先初始化高維數組為4// 逐一初始化低維數組intArray[0] = new int[2];intArray[1] = new int[1];intArray[2] = new int[3];intArray[3] = new int[3];// for循環遍歷for (int i = 0; i < intArray.length; i++) {for (int j = 0; j < intArray[i].length; j++) {intArray[i][j] = i + j;}}// for-each循環遍歷for (int[] row : intArray) {for (int column : row) {System.out.print(column);// 在元素之間添加制表符,System.out.print('\t');}// 一行元素打印完成后換行System.out.println();}System.out.println(intArray[0][2]); // 發生運行期錯誤} }

不規則數組訪問和遍歷可以使用 for 和 for-each 循環,但要注意下標越界異常發生。

上述代碼第 18 行和第 19 行采用 for-each 循環遍歷不規則數組,其中代碼第 18 行 for-each 循環取出的數據是 int 數組,所以 row 類型是 int[]。代碼第 19 行 for-each 循環取出的數據是 int 數據,所以 column 的類型 int。另外,注意代碼第 27 行試圖訪問 intArray[0][2]元素,由于 [0][2] 不存在所以會發生下標越界異常。

總結

以上是生活随笔為你收集整理的1.5 不规则数组的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。