App下載

Java基礎(chǔ)知識(shí)數(shù)組之二維數(shù)組知識(shí)歸納

猿友 2021-07-27 16:18:03 瀏覽數(shù) (2664)
反饋

為了更方便地組織數(shù)據(jù)信息,通常會(huì)采用表的形式來(lái)進(jìn)行存儲(chǔ),二維數(shù)組的結(jié)構(gòu)可以很好地表示計(jì)算機(jī)中的表。下面我將通過(guò)Java來(lái)展示二維數(shù)組的創(chuàng)建,初始化以及具體是怎么獲取數(shù)組內(nèi)的元素。

一、二維數(shù)組的創(chuàng)建

其實(shí)在Java中并不支持二維數(shù)組,但是數(shù)組聲明的一個(gè)特點(diǎn)就是,可以是任何數(shù)據(jù)聲明數(shù)組內(nèi)元素的類(lèi)型。所以二維數(shù)組可以看做是一維數(shù)組的一維數(shù)組,具體聲明格式如下:

type[][] arr; // 數(shù)據(jù)類(lèi)型[][] 數(shù)組名;

如果把二維數(shù)組看做是一個(gè)表,那么第一個(gè)中括號(hào)代表的就是表的行,第二個(gè)中括號(hào)代表的是表的列。

int[][] arr1;
char[][] arr2;

二、二維數(shù)組的初始化

二維數(shù)組的初始化和一維數(shù)組的初始化非常之相似,一樣是三種方法,具體如下:

(1)給定數(shù)值空間,再進(jìn)行賦值。

int[][] num=new int[2][2];
int[0][0] = 1;
int[0][1] = 2;
int[1][0] = 3;
int[1][1] = 4;

(2)通過(guò) new 給數(shù)組賦值。

int[][] num=new int[][]{{1,2},{3,4}};

(3)直接給數(shù)組進(jìn)行賦值。

int[][] num={{1,2},{3,4}};

上述三種初始化方式的結(jié)果都是一樣的,而數(shù)組執(zhí)行后的內(nèi)存結(jié)構(gòu)如下:

二維數(shù)組的內(nèi)存結(jié)構(gòu)

三、二維數(shù)組內(nèi)元素的獲取

(1)獲取單個(gè)元素

如果二維數(shù)組創(chuàng)建的是 m 行 n 列,那么可取到的下標(biāo)和一維數(shù)組一樣,都是從0開(kāi)始,到 m-1 或者 n-1 位。也就是說(shuō) arr[0][0] 表示的是第一行第一列的元素,arr[2][3] 表示第三行第四列的元素。通過(guò)這樣的規(guī)定,我們很容易就可以獲取數(shù)組內(nèi)的單個(gè)元素了。

public static void main(String[] args) {
    double[][] class_score = {{10.0,99,99},{100,98,97},{100,100,99.5},{99.5,99,98.5}};
    System.out.println("第二行第二列元素的值:"+class_score[1][1]);
    System.out.println("第四行第一列元素的值:"+class_score[3][0]);
}

執(zhí)行后,輸出結(jié)果:

第二行第二列元素的值:98.0 

第四行第一列元素的值:99.5

(2)獲取全部元素

獲取一維數(shù)組的長(zhǎng)度,通常使用 arr.length 來(lái)表示數(shù)組的長(zhǎng)度。在二維數(shù)組中,arr.length 僅表示數(shù)組行的長(zhǎng)度,arr[0].length 則是用來(lái)表示數(shù)組列的長(zhǎng)度。

獲取數(shù)組中全部元素,最簡(jiǎn)單的方法就是通過(guò) for 循環(huán)來(lái)獲取數(shù)組中的每一個(gè)元素。一維數(shù)組用一個(gè) for 循環(huán)即可完成獲取全部元素,二維數(shù)組則需要用嵌套 for 循環(huán)。

public static void main(String[] args) {
    double[][] class_score = { { 100, 99, 99 }, { 100, 98, 97 }, { 100, 100, 99.5 }, { 99.5, 99, 98.5 } };
    for (int i = 0; i < class_score.length; i++) { // 遍歷行
        for (int j = 0; j < class_score[i].length; j++) {
            System.out.println("class_score[" + i + "][" + j + "]=" + class_score[i][j]);
        }
    }
}

執(zhí)行后,運(yùn)行結(jié)果:

class_score[0][0]=100.0
class_score[0][1]=99.0
class_score[0][2]=99.0
class_score[1][0]=100.0
class_score[1][1]=98.0
class_score[1][2]=97.0
class_score[2][0]=100.0
class_score[2][1]=100.0
class_score[2][2]=99.5
class_score[3][0]=99.5
class_score[3][1]=99.0
class_score[3][2]=98.5

到這,已經(jīng)學(xué)會(huì)了獲取二維數(shù)組內(nèi)的全部元素的獲取。那么獲取整行或是整列的元素,相信也不在話下了。

四、總結(jié)

本篇關(guān)于 Java基礎(chǔ)知識(shí)數(shù)組中的二維數(shù)組詳細(xì)內(nèi)容介紹到到這就結(jié)束了,想要了解更多和 Java 數(shù)組相關(guān)的其他內(nèi)容,可以搜索W3Cschool里面的相關(guān)文章。如果本文對(duì)大家的學(xué)習(xí)有所幫助,還希望大家能夠多多關(guān)注和支持我們!


0 人點(diǎn)贊