更新時間:2022-06-01 11:07:22 來源:動力節(jié)點 瀏覽1451次
在本教程中,動力節(jié)點小編將帶大家了解如何在 Java 中聲明和初始化數(shù)組。
通過提供類型和名稱,我們在 Java 中聲明一個數(shù)組,就像我們聲明其他變量一樣:
int[] myArray;
要在聲明數(shù)組時初始化或?qū)嵗瘮?shù)組,這意味著我們在創(chuàng)建數(shù)組時分配值,我們可以使用以下速記語法:
int[] myArray = {13, 14, 15};
或者,您可以生成一個值流并將其分配回數(shù)組:
int[] intArray = IntStream.range(1, 11).toArray();
int[] intArray = IntStream.rangeClosed(1, 10).toArray();
int[] intArray = IntStream.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).toArray();
Java 中數(shù)組對象的聲明遵循與聲明 Java 變量相同的邏輯。我們識別數(shù)組元素的數(shù)據(jù)類型和變量的名稱,同時添加方括號[]來表示它的數(shù)組。
以下是聲明數(shù)組的兩種有效方法:
int intArray[];
int[] intArray;
第二個選項通常是首選,因為它更清楚地表明了哪種類型intArray。
請注意,我們只創(chuàng)建了一個數(shù)組引用。由于大小未知,因此沒有為數(shù)組分配內(nèi)存,我們也無能為力。
要使用數(shù)組,我們可以使用new關鍵字對其進行初始化,后跟數(shù)組的數(shù)據(jù)類型,以及包含其大小的方括號:
int[] intArray = new int[10];
這會為大小為 的數(shù)組分配內(nèi)存10。這個大小是不可變的。
Java 根據(jù)元素類型使用默認值填充我們的數(shù)組 -0對于整數(shù)、false布爾值、null對象等。讓我們更多地了解如何用我們想要的值實例化一個數(shù)組。
使用非默認值初始化數(shù)組的緩慢方法是一一分配值:
int[] intArray = new int[10];
intArray[0] = 22;
在本例中,您聲明了一個包含 10 個元素的整數(shù)數(shù)組對象,因此您可以使用其索引值初始化每個元素。
{}最常見和最方便的策略是使用包含數(shù)組元素的大括號同時聲明和初始化數(shù)組。
以下代碼使用三個元素(13、14 和 15)初始化一個整數(shù)數(shù)組:
int intArray[] = {13, 14, 15};
請記住,數(shù)組對象的大小將是您在大括號內(nèi)指定的元素數(shù)。因此,該數(shù)組對象的大小為 3。
此方法也適用于對象。如果我們想初始化一個由三個字符串組成的數(shù)組,我們會這樣做:
int[] stringArray = {"zelda", "link", "ganon"};
Java 也允許我們使用new關鍵字來初始化數(shù)組:
int[] intArray = new int[]{13, 14, 15};
int[] stringArray = new String[]{"zelda", "link", "ganon"};
它的工作方式相同。
注意:如果您要創(chuàng)建一個返回初始化數(shù)組的方法,則必須使用new帶有花括號的關鍵字。在方法中返回數(shù)組時,單獨的花括號不起作用:
public String[] getNames() {
return new String[]{"zelda", "link", "ganon"}; // Works
}
public String[] getNames() {
return {"zelda", "link", "ganon"}; // Doesn't work
}
如果您要聲明和初始化一個整數(shù)數(shù)組,您可以選擇使用IntStreamJava 接口:
int[] intArray = IntStream.range(1, 11).toArray();
上面的代碼創(chuàng)建了一個由十個整數(shù)組成的數(shù)組,其中包含數(shù)字 1 到 10:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
該IntStream接口有一個range()將序列的開頭和結(jié)尾作為參數(shù)的方法。請記住,第二個參數(shù)不包括在內(nèi),而第一個參數(shù)是。
然后我們使用methodtoArray()方法將其轉(zhuǎn)換為數(shù)組。
注意: IntStream只是可用于創(chuàng)建范圍的少數(shù)類之一。您也可以在這些示例中的任何一個中使用 aDoubleStream或LongStream。
如果您想覆蓋該特征,并包含最后一個元素,您可以使用IntStream.rangeClosed():
int[] intArray = IntStream.rangeClosed(1, 10).toArray();
這將產(chǎn)生一個包含 10 個整數(shù)的數(shù)組,從 1 到 10:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
該IntStream.of()方法的功能與聲明具有一定數(shù)量值的數(shù)組非常相似,例如:
int[] intArray = new int[]{6, 2, 4, 5, 7};
在這里,我們指定調(diào)用中的元素of():
int[] intArray = IntStream.of(6, 2, 4, 5, 7).toArray();
這將生成一個保留元素順序的數(shù)組:
[6, 2, 4, 5, 7]
或者,您甚至可以sorted()在此調(diào)用方法,以便在初始化數(shù)組時對其進行排序:
int[] intArray = IntStream.of(6, 2, 4, 5, 7).sorted().toArray();
這導致具有以下元素順序的數(shù)組:
[2, 4, 5, 6, 7]
可用于初始化數(shù)組的最強大的技術之一是使用for循環(huán)使用一些值對其進行初始化。
讓我們使用一個循環(huán)來初始化一個值為 0 到 9 的整數(shù)數(shù)組:
int[] intAray = new int[10];
for (int i = 0; i < intArray.length; i++) {
int_array[i] = i;
}
這與以下任何較短的選項相同:
int[] intArray = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int[] intArray = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int[] intArray = IntStream.rangeClosed(0, 9).toArray();
當您有更復雜的邏輯來確定數(shù)組元素的值時,循環(huán)比其他方法更理想。
例如,通過for循環(huán)語句,我們可以做一些事情,比如在偶數(shù)索引處制作兩倍大的元素:
int[] intArray = new int[10];
for (int i = 0; i < intArray.length; i++) {
if (i % 2 == 0) {
int_array[i] = i * 2;
} else {
int_array[i] = i;
}
}
在本文中,我們發(fā)現(xiàn)了在 Java 中聲明和初始化數(shù)組的不同方式和方法。我們使用花括號{}、new關鍵字和for循環(huán)來初始化 Java 中的數(shù)組,以便您在不同情況下有多種選擇!