Java 菜鳥教程

Java 流程控制

Java 數(shù)組

Java 面向?qū)ο?I)

Java 面向?qū)ο?II)

Java 面向?qū)ο?III)

Java 異常處理

Java 列表(List)

Java Queue(隊(duì)列)

Java Map集合

Java Set集合

Java 輸入輸出(I/O)

Java Reader/Writer

Java 其他主題

Java 多維數(shù)組

在本教程中,我們將借助示例學(xué)習(xí)使用2維數(shù)組和3維數(shù)組的Java多維數(shù)組。

在學(xué)習(xí)多維數(shù)組之前,請確保您了解Java數(shù)組。

多維數(shù)組是數(shù)組的數(shù)組。多維數(shù)組的每個元素都是數(shù)組本身。例如,

int[][] a = new int[3][4];

 在這里,我們創(chuàng)建了一個名為a的多維數(shù)組。它是一個二維數(shù)組,最多可以容納12個元素,

Java中的二維數(shù)組
二維數(shù)組

 記住,Java使用基于零的索引,也就是說,Java中數(shù)組的索引從0開始,而不是從1開始。

讓我們再舉一個多維數(shù)組的實(shí)例。這次我們將創(chuàng)建一個3維數(shù)組。例如,

String[][][] data = new String[3][4][2];

 這里,data是一個三維數(shù)組,最多可以容納24(3*4*2)個String類型的元素。

如何在Java中初始化二維數(shù)組?

這是我們?nèi)绾卧贘ava中初始化二維數(shù)組。

int[][] a = {
      {1, 2, 3}, 
      {4, 5, 6, 9}, 
      {7}, 
};

如我們所見,多維數(shù)組的每個元素都是數(shù)組本身。而且,與C / C ++不同,Java中多維數(shù)組的每一行可以具有不同的長度。

Java中具有可變長度的2d數(shù)組示例
二維數(shù)組的初始化

示例:二維數(shù)組

class MultidimensionalArray {
    public static void main(String[] args) {

        //創(chuàng)建二維數(shù)組
        int[][] a = {
            {1, 2, 3}, 
            {4, 5, 6, 9}, 
            {7}, 
        };
      
        //計(jì)算每行的長度
        System.out.println("第1行的長度: " + a[0].length);
        System.out.println("第2行的長度: " + a[1].length);
        System.out.println("第3行的長度: " + a[2].length);
    }
}

輸出

第1行的長度: 3
第2行的長度: 4
第3行的長度: 1

在上面的實(shí)例中,我們創(chuàng)建了一個名為a的多維數(shù)組,因?yàn)槎嗑S數(shù)組的每個組件也是一個數(shù)組(a[0],[1]和a[2]也是數(shù)組)。
這里,我們使用length屬性來計(jì)算每行的長度。

示例:使用循環(huán)打印2維數(shù)組的所有元素

class MultidimensionalArray {
    public static void main(String[] args) {

        int[][] a = {
            {1, -2, 3}, 
            {-4, -5, 6, 9}, 
            {7}, 
        };
      
        for (int i = 0; i < a.length; ++i) {
            for(int j = 0; j < a[i].length; ++j) {
                System.out.println(a[i][j]);
            }
        }
    }
}

輸出

1
-2
3
-4
-5
6
9
7

我們還可以使用for ... each循環(huán)來訪問多維數(shù)組的元素。例如,

class MultidimensionalArray {
    public static void main(String[] args) {

        //創(chuàng)建二維數(shù)組
        int[][] a = {
            {1, -2, 3}, 
            {-4, -5, 6, 9}, 
            {7}, 
        };
      
        //首先for ... each循環(huán)訪問單個數(shù)組
        //在二維數(shù)組中
        for (int[] innerArray: a) {
            //第二次for ... each循環(huán)訪問行內(nèi)的每個元素
            for(int data: innerArray) {
                System.out.println(data);
            }
        }
    }
}

輸出

1
-2
3
-4
-5
6
9
7

 在上面的實(shí)例中,我們創(chuàng)建了一個名為a的二維數(shù)組,然后使用for 循環(huán)和for…each循環(huán)訪問數(shù)組的每個元素。

如何在Java中初始化三維數(shù)組?

 讓我們看看如何在Java中使用3d數(shù)組。我們可以初始化一個類似于2d數(shù)組的3d數(shù)組。例如,

// test is a 3d array
int[][][] test = {
        {
          {1, -2, 3}, 
          {2, 3, 4}
        }, 
        { 
          {-4, -5, 6, 9}, 
          {1}, 
          {2, 3}
        } 
};

 基本上,3d數(shù)組是2d數(shù)組的數(shù)組。三維陣列的行也可以像二維陣列一樣在長度上有所變化。

示例:3維數(shù)組

class ThreeArray {
    public static void main(String[] args) {

        // 創(chuàng)建三維數(shù)組
        int[][][] test = {
            {
              {1, -2, 3}, 
              {2, 3, 4}
            }, 
            { 
              {-4, -5, 6, 9}, 
              {1}, 
              {2, 3}
            } 
        };

        //for..each循環(huán)迭代3d數(shù)組的元素
        for (int[][] array2D: test) {
            for (int[] array1D: array2D) {
                for(int item: array1D) {
                    System.out.println(item);
                }
            }
        }
    }
}

輸出

1
-2
3
2
3
4
-4
-5
6
9
1
2
3
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清